CCF python 201709-2 公共钥匙盒
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了CCF python 201709-2 公共钥匙盒,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含817字,纯文字阅读大概需要2分钟。
内容图文
![CCF python 201709-2 公共钥匙盒](/upload/InfoBanner/zyjiaocheng/619/4e5490fe81d74da4ae2c1d53a7a085ac.jpg)
基本思路:
将所有的时间节点(借钥匙时间,还钥匙时间)组织到一个列表里【钥匙号,时间,借or还】
并将之按时间的升序、还优先借、钥匙号的升序排列
那么所要做的就是遍历这个列表:
····如果是借就
········将要钥匙盒对应的位置置零
····如果是还就
········遍历钥匙盒
············找到第一个零,将之变成钥匙号
# 201709-2 公共钥匙盒
N, K = map(int, input().split())
keybox = []
com = []
all = []
for i in range(N):
keybox.append(i + 1)
for i in range(K):
com.append(list(map(int, input().split())))
all.append([com[i][0], com[i][1], -1])
all.append([com[i][0], com[i][1] + com[i][2], 1])
all.sort(key=lambda x: (x[1],-x[2],x[0]))
for i in range(len(all)):
if all[i][2] == -1: # borrow
keybox[keybox.index(all[i][0])] = 0
elif all[i][2] == 1: # return
for j in range(len(keybox)):
if keybox[j] == 0:
keybox[j] = all[i][0]
break
for i in range(len(keybox)):
print(keybox[i], end=' ')
内容总结
以上是互联网集市为您收集整理的CCF python 201709-2 公共钥匙盒全部内容,希望文章能够帮你解决CCF python 201709-2 公共钥匙盒所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。
来源:【匿名】