#ABC257B. [ABC257B] 一维棋子(1D Pawn)
[ABC257B] 一维棋子(1D Pawn)
题目描述
有 个方格,从左到右排成一行,编号为方格 1、方格 2、...、方格 。同时,有 K 个棋子。从左数第 个棋子最初放在方格 上。
现在,我们将对它们进行 次操作。第 次操作如下:
- 如果从左数第 个棋子在最右边的方格上,则不做任何操作。
- 否则,如果从左数第 个棋子右边相邻的方格上没有棋子,则将该棋子向右移动一格;如果有棋子,则不做任何操作。
请输出 次操作结束后,从左到右每个棋子所在的方格编号
输入格式
第一行输入
第二行输入
第三行输入
输出格式
输出一行,包含 个整数,用空格分隔。
第 个整数应该是 次操作结束后从左数第 个棋子所在的方格编号。
样例 #1
样例输入 #1
5 3 5
1 3 4
3 3 1 1 2
样例输出 #1
2 4 5
样例 #2
样例输入 #2
2 2 2
1 2
1 2
样例输出 #2
1 2
样例 #3
样例输入 #3
10 6 9
1 3 5 7 8 9
1 2 3 4 5 6 5 6 2
样例输出 #3
2 5 6 7 9 10
提示
样例说明 1
最初,棋子在方格 1、3 和 4 上。操作过程如下:
- 从左数第3个棋子在方格4上。这不是最右边的方格,右边相邻的方格没有棋子,所以将第3个棋子移到方格5。现在棋子在方格1、3和5上。
- 从左数第3个棋子在方格5上。这是最右边的方格,所以不做任何操作。棋子仍在方格1、3和5上。
- 从左数第1个棋子在方格1上。这不是最右边的方格,右边相邻的方格没有棋子,所以将第1个棋子移到方格2。现在棋子在方格2、3和5上。
- 从左数第1个棋子在方格2上。这不是最右边的方格,但右边相邻的方格(方格3)有棋子,所以不做任何操作。棋子仍在方格2、3和5上。
- 从左数第2个棋子在方格3上。这不是最右边的方格,右边相邻的方格没有棋子,所以将第2个棋子移到方格4。现在棋子在方格2、4和5上。
因此,Q次操作结束后,棋子在方格2、4和5上,所以应该按此顺序输出2、4和5,中间用空格分隔
数据范围
- 所有输入均为整数