본문으로 이동
코드패스 by Devin.KR

문제 3683 · 비트 II

출발 대기 줄 바꾸기

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

마을 마라톤 대회에서는 참가자가 출발선으로 이동하기 전에 한 줄로 서서 안내를 기다린다. 참가자는 모두 N명이며, 각 참가자는 1부터 N까지의 서로 다른 정수 하나를 배번호로 사용한다. 처음에는 배번호가 작은 참가자부터 차례로 줄을 서므로, 맨 앞부터 배번호가 1, 2, ..., N인 순서다. 줄의 위치에도 맨 앞부터 1번부터 N번까지 번호를 붙인다. 출발 준비 중에는 안내원의 지시에 따라 일부 참가자가 서로 자리를 바꾼다. 지시 하나에는 두 위치 번호 x와 y가 적혀 있다. 이 지시를 받으면 현재 x번 위치에 있는 참가자와 현재 y번 위치에 있는 참가자가 서로의 자리로 이동한다. 다른 위치에 있는 참가자는 움직이지 않으며, 줄 전체의 길이나 위치 번호도 바뀌지 않는다. x와 y가 같다면 같은 위치를 두 번 지정한 것이므로 아무 변화도 일어나지 않는다. 안내원은 이러한 지시를 모두 M개 전달한다. 지시는 입력에 적힌 순서대로 하나씩 적용하며, 앞선 지시로 바뀐 줄의 상태가 다음 지시의 기준이 된다. 특히 지시에 적힌 두 수는 참가자의 배번호가 아니라 줄에서의 위치 번호다. 같은 위치가 여러 지시에 등장할 수 있고, 같은 두 위치를 바꾸는 지시가 반복될 수도 있다. 어느 경우든 현재 그 위치에 서 있는 참가자를 확인하여 자리를 바꾼다. 모든 지시가 끝나면 진행 요원은 참가자가 출발선으로 이동할 순서를 확인하려 한다. 이를 위해 최종 대기 줄을 맨 앞에서 맨 뒤까지 읽었을 때 나타나는 배번호를 기록한다. 참가자가 중간에 줄을 떠나거나 새로 들어오는 일은 없으므로, 최종 기록에도 1부터 N까지의 배번호가 각각 한 번씩 나타난다. 지시가 하나도 없다면 처음 줄의 순서를 그대로 기록한다. 주어진 지시를 모두 적용한 뒤의 배번호 순서를 구하는 프로그램을 작성한다.

입력

첫째 줄에 정수 N과 M이 공백으로 구분되어 주어진다. 다음 M개의 줄에는 각 지시의 위치 번호를 나타내는 정수 x와 y가 공백으로 구분되어 주어진다.
1 ≤ N ≤ 1,000, 0 ≤ M ≤ 1,000, 1 ≤ x, y ≤ N이다. M이 0이면 지시를 나타내는 줄은 주어지지 않는다.

출력

모든 지시를 적용한 뒤 맨 앞부터 맨 뒤까지의 참가자 배번호 N개를 공백으로 구분하여 한 줄에 출력한다.

예제 입력 1

5 3
1 4
2 5
4 5

예제 출력 1

4 5 3 2 1

예제 입력 2

3 2
2 2
1 3

예제 출력 2

3 2 1

예제 입력 3

4 0

예제 출력 3

1 2 3 4
힌트 펼치기
  • 배열의 각 칸에 해당 위치에 서 있는 참가자의 배번호를 저장한다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류배열구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)