求助打怪兽问题

16 views
Skip to first unread message

lovelu...@gmail.com

unread,
Dec 26, 2018, 5:40:35 AM12/26/18
to cs101pku
nCases=int(input())
while nCases>0:
a=[]
c=[]
n,m,b=map(int,input().split())
for i in range(n):
t,x=map(int,input().split())
a.append((t,x))
a=sorted(a,key=lambda a:(a[0],-a[1]))
t0=a[0][0]
for i in a:
if i[0]==t0:
c.append(i)
b-=sum(c[v][1]for v in range(min(m,len(c))))
t0=i[0]
if b<=0:
break
else:
print('alive')
print(t0)
nCases-=1
求问哪里不对qaq
Message has been deleted

Hongfei Yan

unread,
Dec 31, 2018, 8:40:26 AM12/31/18
to cs10...@googlegroups.com
你的c没有重新初始化。对照一下这个能AC的。
nCases = int(input()) for _ in range(nCases): n,m,b=map(int,input().split()) skill = [] for i in range(n): t,x=map(int,input().split()) skill.append((t,x)) sort_skill = sorted(skill,key=lambda a:(a[0],-a[1])) t0 = sort_skill[0][0] c = [] for i in sort_skill: if i[0]==t0: c.append(i) continue b -= sum(c[v][1]for v in range(min(m,len(c)))) if b<=0 : break t0=i[0] c = [] c.append(i) else: b -= sum(c[v][1] for v in range(min(m,len(c)))) print('alive'if b>0 else t0)

--
您收到此邮件是因为您订阅了Google网上论坛上的“cs101pku”群组。
要退订此群组并停止接收此群组的电子邮件,请发送电子邮件到cs101pku+u...@googlegroups.com
要发帖到此群组,请发送电子邮件至cs10...@googlegroups.com
访问此群组:https://groups.google.com/group/cs101pku
要查看更多选项,请访问https://groups.google.com/d/optout
Reply all
Reply to author
Forward
0 new messages