행복한 소가 더 많은 우유를 만든다고 확신한 농부 존은 헛간에 거대한 디스코 볼을 설치하고 소들에게 춤을 가르치기로 했다!
인기 있는 소 춤들을 찾아본 농부 존은 소들에게 "소들의 셔플(Bovine Shuffle)"을 가르치기로 했다. 소들의 셔플은 \(N\)마리의 소 (\(1 \leq N \leq 100\))가 어떤 순서로 한 줄로 선 다음, "셔플"을 연속으로 세 번 수행하는 춤으로, 셔플이 끝나면 소들은 처음과 다를 수도 있는 순서로 서 있게 된다. 소들이 자기 위치를 쉽게 찾을 수 있도록, 농부 존은 줄의 위치를 \(1 \ldots N\)으로 표시해 두었다. 즉, 줄의 첫 번째 소는 위치 1에, 다음 소는 위치 2에, 이런 식으로 위치 \(N\)까지 서게 된다.
셔플은 \(N\)개의 수 \(a_1 \ldots a_N\)으로 표현되며, 셔플 동안 위치 \(i\)에 있는 소는 위치 \(a_i\)로 이동한다 (따라서 각 \(a_i\)는 \(1 \ldots N\) 범위이다). 셔플 동안 모든 소는 자신의 새 위치로 이동한다. 다행히 모든 \(a_i\)는 서로 다르므로, 셔플 동안 두 소가 같은 위치로 이동하려는 일은 없다.
농부 존의 소들은 각각 서로 다른 7자리 정수 ID 번호를 가지고 있다. 세 번의 셔플 후 소들의 순서가 주어질 때, 소들의 처음 순서를 구하라.
Problem credits: Brian Dean
Problem credits: Brian Dean
입력의 첫째 줄에 소의 수 \(N\)이 주어진다. 다음 줄에 \(N\)개의 정수 \(a_1 \ldots a_N\)이 주어진다. 마지막 줄에 세 번의 셔플 후 \(N\)마리 소들의 순서가 주어지며, 각 소는 ID 번호로 표현된다.
\(N\)개의 줄에 걸쳐 한 줄에 소 ID 하나씩, 세 번의 셔플 전 소들의 순서를 출력한다.
shuffle.in · 출력을 쓸 파일 shuffle.out5
1 3 4 5 2
1234567 2222222 3333333 4444444 55555551234567
5555555
2222222
3333333
4444444riseoj 작성
출처 올림피아드 > USACO > 2017-2018 > December > Bronze