시간 제한
메모리 제한
시간 제한
2초
메모리 제한
128 MB
1 이상 N 이하의 자연수로 이루어진 두 배열 A[1..N]과 B[1..N]이 있다. 각 인덱스 i에 대해 Swap(i) 연산을 한 번 수행하면 A[i]와 B[i]의 값을 서로 바꿀 수 있다.
목표는 두 배열을 정리하여 A 안에서도 같은 수가 두 번 이상 나오지 않고, B 안에서도 같은 수가 두 번 이상 나오지 않게 만드는 것이다.
가능한 한 적은 횟수의 Swap 연산으로 목표를 달성하라. 어떤 방법으로도 두 배열을 모두 중복 없이 만들 수 없다면 -1을 출력한다.
첫째 줄에 자연수 N (1 <= N <= 100000)이 주어진다.
둘째 줄에는 A[1], A[2], ..., A[N]이 공백으로 구분되어 주어진다.
셋째 줄에는 B[1], B[2], ..., B[N]이 공백으로 구분되어 주어진다.
모든 원소는 1 이상 N 이하의 자연수이다.
첫째 줄에 필요한 Swap 연산의 최소 횟수를 출력한다. 불가능하면 -1을 출력한다.