만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

얼어붙은 일정

시간 제한3초메모리 제한1024 MB

요약
1번 집에서 출발해 모든 집을 한 번씩 방문하는 순서를 찾습니다. 도로 이동과 비도로 이동의 전환은 한 번 이하여야 합니다.
난이도

보통10점 중 7점

유형
그래프, BFS, 그리디
정답자
아직 제출이 없습니다

문제

눈이 많이 내리고 몹시 추운 겨울, 집이 nn채 있는 마을이 있다. 이른 새벽이라 모두 잠들어 있다. 땅에는 눈이 깊이 쌓여 있지만, 집과 집을 잇는 mm개의 도로 위에는 눈이 없다. 깨어 있는 사람은 토마스뿐이다.

우편배달부 토마스는 마을의 nn채 집에 모두 우편을 전달해야 한다. 집에는 1번부터 nn번까지 번호가 붙어 있다. 토마스는 자기 집(1번 집)에서 출발해 나머지 집을 원하는 순서대로 모두 방문한다. 도로로 연결된 두 집 사이는 자전거로 이동할 수 있고, 도로로 연결되지 않은 두 집 사이는 스키로 이동할 수 있다. 다만 도로 위에서는 스키를 쓸 수 없고, 도로 바깥에서는 자전거를 쓸 수 없다. 자전거와 스키를 바꾸는 일은 번거로워서 최대 한 번만 바꾸려고 한다.

집의 순서 a1,a2,⋯ ,ana_1, a_2, \cdots, a_n을 찾아라. 단, a1=1a_1 = 1이어야 하며, 다음 중 하나가 성립하는 인덱스 ii (2≤i≤n−12 \leq i \leq n-1)가 최대 하나만 있어야 한다.

  1. ai−1a_{i-1}과 aia_i는 도로로 연결되어 있지만, aia_i와 ai+1a_{i+1}은 연결되어 있지 않다.
  2. ai−1a_{i-1}과 aia_i는 도로로 연결되어 있지 않지만, aia_i와 ai+1a_{i+1}은 연결되어 있다.

즉, 순서는 1에서 시작하며 도로를 따라가는 이동과 그렇지 않은 이동 사이를 최대 한 번만 바꾼다.

입력

첫 줄에 집의 수 nn과 도로의 수 mm이 주어진다(2≤n≤3⋅1052 \leq n \leq 3 \cdot 10^5, 0≤m≤3⋅1050 \leq m \leq 3 \cdot 10^5).

이어지는 mm개의 줄에는 각각 두 정수 uiu_i, viv_i(1≤ui≠vi≤n1 \leq u_i \neq v_i \leq n)가 주어지며, uiu_i와 viv_i가 도로로 연결되어 있음을 뜻한다. 도로는 양방향으로 사용할 수 있고, 무순서쌍 {ui,vi}\{u_i, v_i\}는 모두 서로 다르다.

모든 입력에 대해 조건을 만족하는 순서가 존재한다.

출력

방문 순서 a1,a2,⋯ ,ana_1, a_2, \cdots, a_n을 한 줄에 출력한다. 첫 번째 수 a1a_1은 반드시 1이어야 한다.

예제2

  1. 예제 1

    입력
    4 4
    1 2
    1 3
    1 4
    3 4
    
    예상 출력
    1 4 3 2
    
  2. 예제 2

    입력
    5 0
    
    예상 출력
    1 2 3 4 5