QOJ.ac

QOJ

حد الوقت: 1 s حد الذاكرة: 512 MB مجموع النقاط: 10

#5238. 摄影 [C]

الإحصائيات

Bajtocka 技术学校(简称 BST)的毕业生们聚集在学校前的广场上拍摄毕业合影。所有人排成一排,位置从左到右依次编号为 $1$ 到 $n$,其中 $n$ 是今年的毕业生人数。

摄影师决定重新排列照片中的人员,使他们按身高升序排列。最矮的人应该站在最左侧,最高的人应该站在最右侧。幸运的是,今年毕业生的身高各不相同。

为了避免混乱,人员的调动将以有序的方式进行。在每一轮中,摄影师会念出一串位置编号。处于这些位置的人员将按照念出位置的顺序依次走出队列,来到广场中央。随后,摄影师会重复相同的编号列表。广场中央的人员将按照与走出队列时相反的顺序,回到刚才念出的位置上。

我们希望以最少的轮数将所有毕业生按身高升序排列。你的任务是规划调动过程,并向摄影师提供他在每一轮中应该念出的位置编号列表。

输入格式

第一行包含一个整数 $n$ ($1 \le n \le 3000$),表示毕业生人数。

接下来的 $n$ 行,每行包含一个整数 $h_1, h_2, \dots, h_n$ ($1 \le h_i \le 3000$),表示从左到右站立的人员的身高(单位:毫米)。所有身高互不相同。

输出格式

第一行应包含一个整数 $r$,表示将所有人按身高升序排列所需的最少轮数。

接下来的 $2r$ 行应包含这些轮次的描述。每一轮描述的第一行应包含一个整数 $p_i$ ($1 \le p_i \le n$),表示第 $i$ 轮中念出的位置编号数量。描述的第二行应包含 $p_i$ 个位置编号,按念出的顺序排列。同一轮中的位置编号不能重复。

如果存在多种达到相同(最小)轮数的方案,输出其中任意一种即可。

样例

输入 1

5
1670
2011
1560
1232
1447

输出 1

1
5
2 1 3 4 5

输入 2

6
1556
1449
1863
2014
1333
1220

输出 2

2
5
5 6 1 4 3
4
1 2 3 4

说明

样例说明:在第一个样例中,一轮就足够了。所有毕业生按身高顺序 $[2011, 1670, 1560, 1232, 1447]$ 走到广场中央。然后,这些人以相反的顺序回到位置 $2, 1, 3, 4$ 和 $5$。最终顺序为 $[1232, 1447, 1560, 1670, 2011]$,即升序排列。

在第二个样例中,我们可以用两轮完成,并且可以证明无法用更少的轮数完成。第一轮后的身高顺序为 $[1556, 1449, 1333, 1220, 1863, 2014]$,第二轮后的顺序为 $[1220, 1333, 1449, 1556, 1863, 2014]$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.