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)

 

posted @ 2021-04-04 14:56  浅忆~  阅读(82)  评论(0编辑  收藏  举报