列表

详情


NC220680. 换队伍

描述

在一个超市里有两个收银台,现在它们面前排了长长的队伍。
第一个收银台前排了个人,从靠近收银台开始分别编号
第二个收银台前排了个人,从靠近收银台开始分别编号

可是总有一些人觉的自己的队伍排的太慢了,会从自己的队伍里离开,然后排在另一个队伍的最后。
那当所有的人都换完队伍后,这两个队伍的编号最后是什么样的呢?

输入描述

第一行三个以空格分隔的整数
第二行个以空格分隔的整数,表示离开队伍的编号。
保证离开队伍的人员编号在范围内。

输出描述

共两行整数,分别描述两个队伍的样子,按照离收银台近的位置开始依次给出人员的编号(以空格分隔)。
保证最后两个队伍均至少有一个人。

示例1

输入:

3 3 3
2 3 4

输出:

1 4
5 6 2 3

说明:

初始时两个队伍的样子为:
1 2 3
4 5 6
当编号为2的人换队伍后,两个队伍的样子为:
1 3
4 5 6 2
接下来当编号为3的人换队伍后,两个队伍的样子为:
1
4 5 6 2 3
接下来当编号为4的人换队伍后,两个队伍的样子为:
1 4
5 6 2 3

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python3(3.9) 解法, 执行用时: 247ms, 内存消耗: 30776K, 提交时间: 2021-04-27 19:58:42

n1,n2,q=map(int,input().split())
c=list(map(int,input().split()))
d1={}
d2={}
for i in range(1,n1+1):
    d1[i]=0
for j in range(n1+1,n1+n2+1):
    d2[j]=0

for x in c:
    if x in d1:
        del d1[x]
        d2[x]=0
    elif x in d2:
        del d2[x]
        d1[x] = 0

print(*d1.keys())
print(*d2.keys())

上一题