帮我写一下程序
时间: 2023-10-05 07:13:46 浏览: 101
用JAVASCRIPT帮我写个计数器
好的,以下是一个基于Python语言的二叉树实现程序,用于解决华东杯数学建模竞赛C题药品污染问题:
```python
class TreeNode:
def __init__(self, index, sample_time, product_time):
self.index = index
self.sample_time = sample_time
self.product_time = product_time
self.left = None
self.right = None
def insert_node(root, index, sample_time, product_time):
if root is None:
root = TreeNode(index, sample_time, product_time)
else:
if index < root.index:
root.left = insert_node(root.left, index, sample_time, product_time)
else:
root.right = insert_node(root.right, index, sample_time, product_time)
return root
def check_pollution(root, pollution_time):
if root is not None:
if abs(root.product_time - pollution_time) <= 24:
if abs(root.sample_time - pollution_time) <= 24:
print("药品编号:{},批次:{},采样时间:{},生产时间:{},原因:采样污染和生产污染".format(root.index, root.index // 1000, root.sample_time, root.product_time))
else:
print("药品编号:{},批次:{},采样时间:{},生产时间:{},原因:生产污染".format(root.index, root.index // 1000, root.sample_time, root.product_time))
elif abs(root.sample_time - pollution_time) <= 24:
print("药品编号:{},批次:{},采样时间:{},生产时间:{},原因:采样污染".format(root.index, root.index // 1000, root.sample_time, root.product_time))
check_pollution(root.left, pollution_time)
check_pollution(root.right, pollution_time)
if __name__ == "__main__":
root = None
# 读取药品信息并插入二叉树中
with open("data.txt", "r") as f:
for line in f.readlines():
index, sample_time, product_time = map(int, line.strip().split())
root = insert_node(root, index, sample_time, product_time)
# 检查污染情况并输出结果
pollution_time = 20200215
check_pollution(root, pollution_time)
```
在运行程序之前,需要将药品信息按照题目中的要求保存到文本文件"data.txt"中,并放置在程序所在的目录下。其中,每行表示一个药品的信息,包括药品编号、采样时间和生产时间,用空格隔开。程序会读取文件中的药品信息,并将其插入到二叉树中。最后,程序会根据给定的污染时间,检查每个药品是否受到污染,并输出结果。
阅读全文