| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 2 초 | 1024 MB | 40 | 15 | 6 | 27.273% |
길이가 $N$인 두 정수 수열 $A\colon A_1, A_2, \cdots, A_N$과 $B\colon B_1, B_2, \cdots, B_N$이 주어진다. 각 수열은 서로 다른 $N$개의 수로 이루어져 있고 1ドル \leq A_i, B_i \leq N$ (1ドル \leq i \leq N$)이다. 이때, 여러분은 $A$에 다음과 같은 연산을 가할 수 있다.
여러분은 $A$에 연산을 몇 번 가해 $B$와 같아지도록 만들고자 한다. 연산의 횟수를 최소화할 필요는 없으나, 물론 연산을 한 번도 가하지 않을 수도 있다. 이때, $A$에 몇 번의 연산을 통해 $B$와 같도록 할 수 있다면 10ドル^6$번 이하의 연산만으로 $A$를 $B$와 같도록 할 수 있음을 증명할 수 있다. 10ドル^6$번 이하의 연산을 통해 $A$를 $B$와 같도록 만들어보자.
첫 번째 줄에 양의 정수 $N$이 주어진다.
두 번째 줄에 $A$를 이루는 $N$개의 양의 정수 $A_1, A_2, \cdots, A_N$이 공백으로 구분되어 주어진다.
세 번째 줄에 $B$를 이루는 $N$개의 양의 정수 $B_1, B_2, \cdots, B_N$이 공백으로 구분되어 주어진다.
첫 번째 줄에 가해야 하는 연산의 횟수 $Q$를 출력하라. 만약 $A$를 $B$로 바꿀 수 없다면 -1을 출력하여라.
만약 $A$를 $B$로 바꿀 수 있다면, 두 번째 줄부터 $Q$개의 줄 중 $i$번째 줄에, 수열 $A$를 $B$로 바꾸는 과정의 $i$번째 연산에서 선택하는 두 수 $l$과 $r$을 공백으로 구분하여 출력하여라.
5 3 1 2 5 4 1 2 3 4 5
2 1 2 2 5
첫 번째 연산 이후의 $A$는 $[1, 3, 2, 5, 4],ドル 두 번째 연산 이후의 $A$는 $[1, 2, 3, 4, 5]$가 된다.
2 1 2 1 2
2 1 2 1 2
연산을 가하지 않으면 $A$와 $B$가 같으므로 이 입력에서 $Q$의 최솟값은 0ドル$이다. $Q$를 최소화할 필요는 없다.
School > 경기과학고등학교 > 나는코더다 송년대회 > 나는코더다 2024 송년대회 I번