这道题我用了一个M+1维数组apple来存放1+i行的输入,用一个一维数组drop_apple来存放每棵树掉落的苹果数,这里要注意数组下标是从0开始的,而最后要输出的苹果数编号是从1开始的,所以求得drop_apple中最大数的下标后输出需要加一。至于剩下苹果总数在每次循环先加上第一项再减去后面每一项就好了,思路还是很简单的。下面为我自己的满分代码:
N,M = map(int,input().split())
apple = [[0 for i in range(M+1)] for j in range(N)]
sum_apple = 0
drop_apple = []
for i in range(N):
apple[i] = input().split()
for i in range(N):
drop = 0
sum_apple = sum_apple + abs(int(apple[i][0]))
for j in range(M):
drop_one = abs(int(apple[i][j+1]))
sum_apple = sum_apple - drop_one
drop = drop + drop_one
drop_apple.append(drop)
a = drop_apple.index(max(drop_apple))
print(sum_apple,a+1,drop_apple[a])