ProblemIIIII
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目描述
小 Y 正在小熊的水果店里帮忙呢!店里有一排整齐的水果,一共有 n 个,每个不是红彤彤的苹果就是黄澄澄的桔子,从左到右分别标着 1、2、…、n 的号码。
小 Y 发现,这些水果是 “成块” 排列的 —— 连续挨在一起的同一种水果就组成了一个 “块”。比如左边有 3 个苹果挨在一起,这就是一个 “苹果块”;接着如果有 2 个桔子挨在一起,就是一个 “桔子块”;再后面要是又有苹果,就又是新的苹果块啦。
小熊说要把这些水果装进果篮,装的方法很特别:每次都要看看当前所有的 “块”,把每个块最左边的那个水果挑出来,凑成一个果篮。等挑完这个果篮后,原来的块可能会变哦 —— 比如某个块原来有 3 个水果,挑走最左边的 1 个后,就剩下 2 个了;要是某个块只有 1 个水果,挑走后这个块就消失啦。更有趣的是,如果两个相邻的块,因为挑走水果后变成了同一种水果且紧紧挨在一起,它们就会合成一个新的块!比如原来有 “苹果块→桔子块→苹果块”,挑走每个块最左边的水果后,桔子块可能刚好被挑完,剩下的两个苹果块就会连在一起,变成一个大苹果块啦。
小 Y 的任务就是帮小熊记录:每次装果篮时,这个果篮里到底装了哪些水果(按从左到右的顺序哦),直到所有水果都被装进果篮为止~ 你能和小 Y 一起想想怎么算吗?
输入格式
第一行,包含一个正整数 ,表示水果的数量。
第二行,包含 个空格分隔的整数,其中第 个数表示编号为 的水果的种类, 代表苹果, 代表桔子。
输出格式
输出若干行。
第 行表示第 次挑出的水果组成的果篮。从小到大排序输出该果篮中所有水果的编号,每两个编号之间用一个空格分隔。
样例 #1
样例输入 #1
12
1 1 0 0 1 1 1 0 1 1 0 0
样例输出 #1
1 3 5 8 9 11
2 4 6 12
7
10
样例 #2
样例输入 #2
20
1 1 1 1 0 0 0 1 1 1 0 0 1 0 1 1 0 0 0 0
样例输出 #2
1 5 8 11 13 14 15 17
2 6 9 12 16 18
3 7 10 19
4 20
提示
【样例解释 #1】
这是第一组数据的样例说明。
所有水果一开始的情况是 ,一共有 个块。
在第一次挑水果组成果篮的过程中,编号为 的水果被挑了出来。
之后剩下的水果是 ,一共 个块。
在第二次挑水果组成果篮的过程中,编号为 的水果被挑了出来。
之后剩下的水果是 ,只有 个块。
在第三次挑水果组成果篮的过程中,编号为 的水果被挑了出来。
最后剩下的水果是 ,只有 个块。
在第四次挑水果组成果篮的过程中,编号为 的水果被挑了出来。
【数据范围】
对于 的数据,。 对于 的数据,。 对于 的数据,。 对于 的数据,。
摸底测试
- Status
- Done
- Rule
- IOI
- Problem
- 7
- Start at
- 2025-8-7 8:00
- End at
- 2025-8-7 12:00
- Duration
- 4 hour(s)
- Host
- Partic.
- 69