初学python,想试着写一些竞赛题,下面是某CCF模拟题的要求:
这是我的解题代码,可是只能得到40分,求助是什么地方考虑的不完善!
# 第一个输入的数为棵数
keshu=int(input())
jilu=[]
lianxu=[]
sum_onetree_apple=0
T=0
D=0
E=0
# 列表保存输入
for a in range(keshu):
jilu.append(input().split())
# 遍历每棵树的记录
for a in range(keshu):
# 取每条记录的第一个数作为这棵树的操作次数
for b in range(int(jilu[a][0])):
# 记录数是正数时表示重新统计
if int(jilu[a][b+1])>0:
# 如果重新统计的数量比曾统计的少,说明有苹果掉落 D++
if sum_onetree_apple>int(jilu[a][b+1]):
D+=1
# 记录是第几棵树
lianxu.append(a+1)
# 更新统计
sum_onetree_apple=int(jilu[a][b+1])
else:
sum_onetree_apple+=int(jilu[a][b + 1])
T+=sum_onetree_apple
#遍历保存苹果掉落的树的列表
for c in lianxu:
if (c+1)%keshu==0 and keshu in lianxu:
if (c+2)%keshu in lianxu:
E+=1
elif (c+1)%keshu in lianxu and (c+2)%keshu in lianxu:
E+=1
print(T,"",D,"",E)
输入输出结果跟题目要求应该是一样的,修改了好几次还是只能在40分,希望有大佬能指点一下,谢谢!