CCF2019-09-Python题解
小明种树
试题编号: | 201909-1 |
试题名称: | 小明种苹果 |
时间限制: | 2.0s |
内存限制: | 512.0MB |
题解:模拟一下,记录坏果数量和对应的果树的序号,排下序
3 3 73 -8 -6 -4 76 -5 -10 -8 80 -6 -15 0
1 n,m=map(int, input().split()) 2 3 apple=[] 4 summ_f=0 5 for i in range(1,n+1): 6 tmp=list(map(int, input().split())) 7 lens=len(tmp) 8 for j in range(1, lens): 9 tmp[j]=abs(tmp[j]) 10 bad=sum(tmp[1:]) 11 tmp[0]-=bad 12 summ_f+=tmp[0] 13 apple.append([i,bad]) 14 15 apple.sort(key= lambda u:[-u[1],u[0]]) 16 print(summ_f, end=' ') 17 print(apple[0][0],apple[0][1])
小明种苹果(续)
试题编号: | 201909-2 |
试题名称: | 小明种苹果(续) |
时间限制: | 1.0s |
内存限制: | 512.0MB |
题解:正数-负数,错了一会,(真巧,ju会犯的错误,我也犯了)
判断环的时候,一开始构想出不出界的各种判断,怎么写不重复,后来,一想,出不出界关我什么事偶
4 4 74 -7 -12 -5 5 73 -8 -6 59 -4 5 76 -5 -10 60 -2 5 80 -6 -15 59 0 5 4 10 0 9 0 4 10 -2 7 0 2 10 0 4 10 -3 5 0 4 10 -1 8 0
1 from copy import deepcopy 2 n=int(input()) 3 4 D=[0]*(n+1) 5 summ_f=0 6 for i in range(1,n+1): 7 tmp=list(map(int, input().split())) 8 9 ss=tmp[1] 10 for t in tmp[2:]: 11 if t<=0: 12 ss+=t 13 else: 14 if ss!=t and D[i]==0: 15 D[i]+=1 16 ss=t 17 summ_f+=ss 18 # print(ss,tmp[2:]) 19 20 D=D[1:] 21 d=deepcopy(D) 22 d=d+[d[0]]+[d[1]] 23 E=0 24 #[1, 1, 0, 1, 1] 25 for j in range(n): 26 if d[j]==1 and d[j+1]==1 and d[j+2]==1: 27 E+=1 28 29 print(summ_f,end=" ") 30 print(sum(D),E)