根据小明所在的城市发生了疫情,实行静态化管理,小明也被关在家里,不能去上学了。 根据当地政策,连续N天没有新增病例,就可以解封。小明知道过去M(M≤N)天的每天的新增病例数,他想知道理想情况下最早什么时候可以解封。 输入格式: 第一行一个日期,格式为YYYY/MM/DD。 第二行两个整数N和M,0<M≤N≤30。 之后M行,每行一个整数0≤X i ≤100,0≤i<M,表示从今天开始,往过去数第i天的新增病例数(包括今天)。 输出格式: 一行,一个日期,格式为YYYY/MM/DD,请不要有多余的空格。 输入样例: 2004/10/28 4 2 1 0 输出样例: 2004/11/01
时间: 2024-03-23 07:41:49 浏览: 42
以下是 Python 代码实现:
```python
from datetime import datetime, timedelta
# 读入输入
start_date = datetime.strptime(input().strip(), '%Y/%m/%d')
n, m = map(int, input().split())
# 读入过去 M 天的新增病例数
cases = []
for i in range(m):
cases.append(int(input().strip()))
# 从给定日期开始往前遍历,找到最早的解封日期
days = 0
for i in range(n - m, n):
if cases[i - (n - m)] > 0:
# 如果第 i 天有新增病例,不能解封,重置天数
days = 0
else:
# 如果第 i 天没有新增病例,累加天数
days += 1
if days == n:
# 如果连续 n 天没有新增病例,就可以解封
end_date = start_date - timedelta(i)
print(end_date.strftime('%Y/%m/%d'))
break
```
输入样例:
```
2004/10/28
4 2
1
0
```
输出样例:
```
2004/11/01
```
阅读全文