D Campaign 这是一个问题
作者:互联网
D Campaign
D
这是一个没有解决的问题
不要看这个代码 暂时的思路 只过了50
for _ in range (int(input())):
n=int(input())
cn=[]
sn=[]
for i in range(7):
c,s=map(int,input().split())
cn.append(c)
sn.append(s)
# print(cn,sn)
sn=list(zip(*sorted(zip(cn, sn))))[1]
cn.sort()
# print(cn, sn)
cc=0
ss=0
for i in range(7):
if sum(sn) < n: # 兵力无法都分布掉
print(0)
break
cc+=cn[i]
ss=sum(sn[:i+1])
# print(ss)
if cc>n and ss>n:
ss-=sn[i]
if ss<n:#兵力完全分配 有一个基地没有达到兵力值
print(0)
else:#达到兵力值
print(i)
break
elif cc==n and ss>=n:#恰好完全分配
print(i+1)
break
标签:cn,这是,ss,问题,int,range,sn,print,Campaign 来源: https://blog.csdn.net/SRT_HD/article/details/114779045