AT_abc289_b.[ABC289B] レ
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君正在学习汉文,但他不知道汉字的阅读顺序而感到困惑。让我们来帮助高桥君吧!
有 N 个整数,从 1 到 N,按从小到大的顺序排成一列。
在这些整数之间插入了 M 个“レ”。第 i 个“レ”插在整数 ai 和整数 ai+1 之间。
你需要按照以下步骤,依次读出这 N 个整数,每个整数只读一次。
- 首先,考虑一个有 N 个顶点、M 条边的无向图 G,顶点编号为 1 到 N。第 i 条边连接顶点 ai 和顶点 ai+1。
- 然后,重复以下操作,直到所有整数都被读完为止:
- 在尚未被读过的整数中,选择最小的一个,记为 x。找到包含顶点 x 的连通分量 C,将 C 中所有顶点的编号按从大到小的顺序全部读出。
例如,整数和“レ”如下图所示:

(在此例中,N=5, M=3, a=(1,3,4)。)
此时,整数的阅读顺序如下:2, 1, 5, 4, 3。
- 首先,尚未被读过的最小整数是 1,包含顶点 1 的连通分量为 {1,2},因此按 2,1 的顺序读出。
- 接下来,尚未被读过的最小整数是 3,包含顶点 3 的连通分量为 {3,4,5},因此按 5,4,3 的顺序读出。
- 所有整数都已读完,操作结束。
给定 N, M, (a1,a2,…,aM),请输出 N 个整数的阅读顺序。
连通分量的定义如下:
一个图的子图是从原图中选取一些顶点和一些边组成的图。
一个图是连通的,指的是图中任意两个顶点都可以通过边互相到达。
连通分量是连通的子图,并且不存在包含它的更大的连通子图。
输入格式
输入从标准输入中给出,格式如下:
N M a1 a2 … aM
输出格式
请输出答案,格式如下,其中 pi 表示第 i 个被读出的整数。
p1 p2 … pN
输入输出样例
输入#1
5 3 1 3 4
输出#1
2 1 5 4 3
输入#2
5 0
输出#2
1 2 3 4 5
输入#3
10 6 1 2 3 7 8 9
输出#3
4 3 2 1 5 6 10 9 8 7
说明/提示
数据范围
- 1≤N≤100
- 0≤M≤N−1
- 1≤a1<a2<⋯<aM≤N−1
- 输入的所有数均为整数
样例解释 1
如题目所述,若整数和“レ”按
的顺序排列,则阅读顺序为 2,1,5,4,3。
样例解释 2
也有可能不存在“レ”。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?