#1226. 银行取号2
银行取号2
No submission language available for this problem.
Background
Special for beginners, ^_^
Description
在银行,顾客排队取号是一项常见的操作。为了提供更好的服务,银行对顾客分为两类: 顾客和非 顾客。 顾客的编号是以 "V" 开头,总长度为 的字符串,例如:V10001。非 顾客的编号是以 "N" 开头,总长度为 的字符串,例如:N10002。
银行排队取号有以下规则:
1、非 顾客取号时只能排在队列的末尾。 2、 顾客取号时可以排在队伍中最后一个 顾客的后一位,如果队伍中没有 顾客,则排在当前正在办理业务的人的后一位。
已知银行每个单位时间都会有一个人来取号,可能是 顾客,也可能是非 顾客。非 顾客办理业务需要 个单位时间, 顾客办理业务需要 个单位时间。
现在给定一个整数 和 位顾客的进入银行的顺序,请你模拟在 个单位时间后,队伍中从队首到队尾有哪些人(队伍中包括当前正在办理业务的人)?
Format
Input
第一行包含一个整数 ,表示 个单位时间 ()。 接下来 行,每行包含一个字符串,表示一个顾客的编号。保证输入的编号符合上述规则。
Output
输出 个单位时间结束后(未进入下一个单位时间),队伍中所有人的编号,两个人的编号之间空一格空格。如果队伍中没有人,则不需要输出。
Samples
6
N10001
N10002
V10003
N10004
V10005
N10006
V10003 V10005 N10002 N10004 N10006
7
N10001
N10002
N10003
N10004
N10005
V10006
V10007
N10002 V10006 V10007 N10003 N10004 N10005
7
N10001
N10002
N10003
N10004
V10005
V10006
V10007
N10002 V10005 V10006 V10007 N10003 N10004
Limitation
1s, 1024KiB for each test case.
。
注意,在一个时刻,如果柜台业务办理结束,下一个进行办理的人是队伍中的下一个人,而不会是这一时刻进队的人。 两个时刻之间算一个单位时间。
样例 1
从第一时刻开始,直到第七时刻,一共经过 6 个单位时间。
例如第一时刻到第二时刻算一个单位时间,第一时刻会有第一个顾客来取号。
列出每一时刻队列情况:
- 第 1 时刻:N10001
- 第 2 时刻:N10001 N10002
- 第 3 时刻:N10001 V10003 N10002
- 第 4 时刻:N10001 V10003 N10002 N10004
- 第 5 时刻:V10003 V10005 N10002 N10004
- 第 6 时刻:V10003 V10005 N10002 N10004 N10006
样例 3
从第一时刻开始,直到第八时刻,一共经过 7 个单位时间。 列出每一时刻队列情况:
- 第 1 时刻:N10001
- 第 2 时刻:N10001 N10002
- 第 3 时刻:N10001 N10002 N10003
- 第 4 时刻:N10001 N10002 N10003 N10004
- 第 5 时刻,N10001 结束,N10002 开始办理业务,V10005 进入队伍:N10002 V10005 N10003 N10004
- 第 6 时刻:N10002 V10005 V10006 N10003 N10004
- 第 7 时刻:N10002 V10005 V10006 V100007 N10003 N10004