atcoder#ABC289B. [ABC289B] レ

[ABC289B] レ

题目描述

高橋君は漢文の勉強をしていて、漢字を読む順番が分からず困っています。高橋君を助けましょう!

1 1 から N N までの N N 個の整数が小さい方から順に 1 列に並んでいます。
整数の間に M M 個の「レ」が挟まっています。i i 個目の「レ」は、整数 ai a_i と整数 ai + 1 a_i\ +\ 1 の間にあります。

あなたは次の手順に従って、N N 個の整数を 1 1 回ずつ全て読みます。

  • まず、頂点に 1 1 から N N までの番号がついた N N 頂点 M M 辺の無向グラフ G G を考える。i i 本目の辺は頂点 ai a_i と頂点 ai + 1 a_i\ +\ 1 を結んでいる。
  • そして、読まれていない整数が無くなるまで次の操作を繰り返す。
    • 読まれていない整数のうち最小のものを x x とする。頂点 x x が含まれる連結成分 C C を選び、C C に含まれる頂点の番号を大きい方から順に全て読む。

例えば、整数と「レ」が

image

という順番で並んでいる場合を考えます。(この場合 N = 5, M = 3, a = (1, 3, 4) N\ =\ 5,\ M\ =\ 3,\ a\ =\ (1,\ 3,\ 4) です。)
このとき、整数が読まれる順番は以下の手順によって 2, 1, 5, 4, 3 2,\ 1,\ 5,\ 4,\ 3 に決定します。

  • 最初、読まれていない整数のうち最小のものは 1 1 であり、グラフ G G の頂点 1 1 を含む連結成分に含まれる頂点は { 1, 2 } \lbrace\ 1,\ 2\ \rbrace である。よって 2, 1 2,\ 1 がこの順で読まれる。
  • 次に、読まれていない整数のうち最小のものは 3 3 であり、グラフ G G の頂点 3 3 を含む連結成分に含まれる頂点は { 3, 4, 5 } \lbrace\ 3,\ 4,\ 5\ \rbrace である。よって 5, 4, 3 5,\ 4,\ 3 がこの順で読まれる。
  • すべての整数が読まれたので手順を終了する。

N, M, (a1, a2, , aM) N,\ M,\ (a_1,\ a_2,\ \dots,\ a_M) が入力として与えられるので、 N N 個の整数を読む順番を出力してください。

連結成分とは あるグラフの 部分グラフ とは、元のグラフのいくつかの頂点といくつかの辺を選んでできるグラフのことをいいます。
グラフが 連結 であるとは、グラフに含まれるすべての頂点同士が辺を経由して互いに行き来できることをいいます。
連結成分 とは、連結な部分グラフのうち、そのグラフを含んだより大きい連結な部分グラフが存在しないものをいいます。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M a1 a_1 a2 a_2 \dots aM a_M

输出格式

答えを以下の形式で出力せよ。ここで pi p_i は、i i 番目に読まれる整数を意味する。

p1 p_1 p2 p_2 \dots pN p_N

题目大意

有一个大小为 NN 的无向图 GG, 输入一个大小为 MM 的数组 aia_i, 表明 aia_iai+1a_i + 1 建有一条边

现从 11nn 进行遍历,若该数为未读整数,则降序输出该点所在连通块的所有点

5 3
1 3 4
2 1 5 4 3
5 0
1 2 3 4 5
10 6
1 2 3 7 8 9
4 3 2 1 5 6 10 9 8 7

提示

制約

  • 1  N  100 1\ \leq\ N\ \leq\ 100
  • 0  M  N  1 0\ \leq\ M\ \leq\ N\ -\ 1
  • $ 1\ \leq\ a_1\ \lt\ a_2\ \lt\ \dots\ \lt\ a_M\ \leq\ N-1 $
  • 入力される値は全て整数

Sample Explanation 1

問題文の例にある通り、整数と「レ」が ![image](https://img.atcoder.jp/ghi/abc289\_4328a29fa11f2f7fe51962c84eb3f7d8530b6a7eb40438a04b652a0771430765.jpg) という順で並んでいる場合は 2, 1, 5, 4, 3 2,\ 1,\ 5,\ 4,\ 3 の順で読みます。

Sample Explanation 2

「レ」が存在しない場合もあります。