시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
3 초 | 1024 MB | 25 | 6 | 6 | 28.571% |
N 개의 스택에 1부터 N까지의 번호가 붙어있다. 스택의 초기 상태와 목표 상태가 주어졌을 때 다음과 같은 규칙을 적용하여 초기 상태를 목표 상태로 바꾸려고 한다. 규칙을 적용하는 횟수는 170,000 번 이하여야 하지만 그 횟수가 최소가 될 필요는 없다.
입력의 첫 번째 줄에는 스택의 개수 N과 모든 스택의 원소의 개수의 합 M이 공백으로 구분되어 주어진다.
그다음 N 줄에는 스택의 초기 상태가 주어진다.
1 ≤ i ≤ N인 정수 i에 대하여 입력의 i + 1 번째 줄에는 i 번 스택의 초기 상태를 나타내는 pi + 1 개의 정수가 공백으로 구분되어 주어진다. 입력의 i + 1 번째 줄의 첫 번째 수는 pi로, i 번 스택의 초기 상태에서의 원소의 개수를 나타낸다. i + 1 번째 줄의 나머지 수는 i 번 스택의 초기 상태에서의 가장 아래에 있는 원소부터 가장 위에 있는 원소까지를 순서대로 나타낸다.
그다음 N 줄에는 스택의 목표 상태가 주어진다.
1 ≤ i ≤ N인 정수 i에 대하여 입력의 i + N + 1 번째 줄에는 i 번 스택의 목표 상태를 나타내는 qi + 1 개의 정수가 공백으로 구분되어 주어진다. 입력의 i + N + 1 번째 줄의 첫 번째 수는 qi로, i 번 스택의 목표 상태에서의 원소의 개수를 나타낸다. i + N + 1 번째 줄의 나머지 수는 i 번 스택의 목표 상태에서의 가장 아래에 있는 원소부터 가장 위에 있는 원소까지를 순서대로 나타낸다.
규칙을 0 번 이상 적용하여 스택의 초기 상태로부터 목표 상태로 바꾸는 것이 가능한 입력만 주어진다. 또, 입력 조건을 만족하는 모든 입력에 대하여 규칙을 170,000 번 이하로 적용하여 스택의 초기 상태로부터 목표 상태로 바꾸는 것이 가능함을 증명할 수 있다.
출력의 첫 번째 줄에는 스택을 초기 상태와 목표 상태로 바꾸기 위해 규칙을 적용하는 횟수 X를 출력한다.
그다음 X 줄에는 규칙을 적용하는 과정을 출력한다.
1 ≤ i ≤ X인 정수 i에 대하여 출력의 i + 1 번째 줄에는 규칙을 i 번째 적용할 때 원소를 빼는 스택의 번호 di와 원소를 넣는 스택의 번호 ei를 공백으로 구분하여 출력한다.
3 6 1 1 2 2 1 3 3 2 1 3 1 1 1 2 2 2 1 3
3 2 1 3 1 3 2