CCF-CSP认证真题解答(python)(部分)--2017-9-2(公共钥匙盒)

2017-9-2(公共钥匙盒)

n,k=input().split()
n,k=int(n),int(k)
lis,lis1=[],[]
for i in range(n):
    lis.append(i+1)
for j in range(k):
    w,s,c=input().split()
    w,s,c=int(w),int(s),int(c)
    #为了保证先还后借,且同时还钥匙先放编号小的用正负一来保证排序正确
    lis1.append([s,1,w])
    lis1.append([s+c,-1,w])
lis2=sorted(lis1)
for j in range(2*k):
    if lis2[j][1]>0:
        lis[lis.index(lis2[j][2])]=0
    if lis2[j][1]<0:
        lis[lis.index(0)]=lis2[j][2]
for i in range(n):
    print(lis[i],end=' ')

你可能感兴趣的:(python)