파일 업로드

움직이는 학생들 사진 찍기

profile
실행 시간 제한메모리 제한
1 초128 MB
📃 해결할 문제

선생님인 민호는 일렬로 서 있는 학생들의 사진을 찍고 싶지만, 오늘 학생들이 유난히 신이 나있어서 그가 사진을 찍기 전에 학생들이 계속 움직여버립니다.

민호의 N (1 <= N <= 20,000)명의 학생들 각각 고유한 ID 번호를 가지고 있습니다. 민호는 배열 A[1...N]의 특정한 순서대로 줄을 선 학생들의 사진을 찍고 싶습니다. 여기서 A[j]는 순서상 j번째 학생의 ID 번호를 제공합니다. 그는 학생들을 이 순서대로 배열했지만, 카메라의 버튼을 누르기 직전에 0명 이상의 학생들(반드시 연속된 그룹일 필요는 없습니다)이 줄에서 새로운 위치로 이동해버립니다. 

즉, 0명 이상의 학생들이 줄에서 떨어져 나가며, 남은 학생들은 줄에서 생긴 틈을 채우기 위해 이동합니다. 그리고 이렇게 떨어져 나간 학생들은 원래 있던 위치에서 나와 줄에 다시 들어갑니다. (반드시 원래 있던 위치가 아닐 수 있습니다). 화가 났지만 포기를 몰랐던 민호는 학생들을 다시 A에 따라 배열하지만, 그가 사진을 찍기 직전에, 또 다시 0명 이상의 학생들이 줄에서 이탈해 새로운 위치로 이동해버립니다.

위와 같은 과정이 총 5번의 사진에서 반복됩니다. 각각의 사진에서 보여지는 학생들의 순서를 통해 원래의 순서 A를 구성할 수 있는지 알아보세요. 

각 사진은 A와는 다른, 0명 이상의 학생들이 이동한 순서를 보여줍니다. 하지만 한 명의 학생는 최대 한 번만 움직입니다: 만약 한 명의 학생이 한 사진에서 움직였던 그룹의 일부라면, 그는 다른 네 장의 사진에서는 움직이지 않습니다 (물론, 주변의 다른 학생들이 움직이면 이동할 수는 있다).

💻 입력
  • 첫 번째 줄 : 학생의 수, N (1 <= N <= 20,000).
  • 두 번째 줄..5N+1 번째 줄 : 다음 5N 줄은 다섯 가지 순서를 설명하며, 각각 N개의 연속된 줄 블록입니다. 각 줄에는 학생의 ID가 포함되어 있으며, 이는 0에서 1,000,000,000 사이의 정수입니다.
🖨️ 출력
  • 첫 번째 줄..N 번째 줄 : 의도된 순서 A, 한 줄에 하나의 ID가 포함됩니다.

💻 예제 입력 1
5
10 
20 
30 
40 
50
20
10
30
40
50
30
10
20
40
50
40
10
20
30
50
50
10
20
30
40
🖨️ 예제 출력 1
10
20
30
40
50

출처: USACO 2011 December Contest, Gold Division Problem 1. Cow Photography