QOJ.ac

QOJ

Límite de tiempo: 1 s Límite de memoria: 2048 MB Puntuación total: 100

#5484. 鬼脚图

Estadísticas

“鬼脚图”(Ghost Leg)是一种表示置换的方法。

鬼脚图可以表示为一组垂直线,每条线对应被置换集合中的一个元素。水平线(类似于梯子的横档)连接相邻的垂直线,且没有任何两条横档共享同一个端点。右侧的插图展示了一个示例。

要确定任何元素在鬼脚图置换下的最终位置,请从该元素对应的垂直线顶部开始。沿着线向下追踪,直到遇到第一条接触该线的横档。沿着该横档移动到相邻的垂直线。横档是向左还是向右并不重要,只需跟随它即可。继续向下,跟随横档,直到到达底部。这就给出了该元素在置换下的最终位置。

在示例中,元素 2 在置换后排在第三位。路径用红色虚线标出。同样地,元素 1 最终排在第四位,元素 3 排在第一位,元素 4 排在第二位。

给定鬼脚图的描述,确定置换的结果。换句话说,应用指定的置换,并按置换后的顺序输出元素。

输入格式

输入的第一行包含两个正整数 $n$ ($1 \le n \le 100$) 和 $m$ ($0 \le m \le 1,000$),其中 $n$ 是被置换的元素数量,$m$ 是横档的数量。垂直线(元素)从左到右依次由整数 $1$ 到 $n$ 标识。

接下来的 $m$ 行,每行包含一个整数 $a$ ($1 \le a < n$),表示在垂直线 $a$ 和 $a + 1$ 之间有一条横档。横档按从鬼脚图顶部到底部的顺序排列。显然,没有两条横档处于同一高度。

输出格式

输出 $n$ 行,每行包含一个整数。这是最终的置换结果。第一行是置换后排在第一位的元素,第二行是排在第二位的元素,依此类推。

样例

样例输入 1

4 5
1
2
1
3
2

样例输出 1

3
4
2
1

样例输入 2

7 6
6
4
2
1
3
5

样例输出 2

3
1
5
2
7
4
6

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.