Kael được giao hai hoán vị \(A_1, A_2, \dots, A_N\) và \(B_1, B_2, \dots, B_N\) của các số từ \(1\) đến \(N\). Mỗi lượt, anh được chọn ba vị trí đôi một khác nhau \(i, j, k\) rồi thực hiện đồng thời:
- đổi chỗ \(A_i\) và \(A_j\);
- đổi chỗ \(B_i\) và \(B_k\).
Anh có thể làm bao nhiêu lượt tùy ý. Mục tiêu là làm cho hai dãy trùng nhau, tức \(A_i = B_i\) với mọi \(1 \le i \le N\). Hãy tìm số lượt ít nhất, hoặc in \(-1\) nếu không thể.
Input
- Dòng đầu: số nguyên \(N\).
- Dòng hai: \(N\) số nguyên \(A_1, \dots, A_N\) (một hoán vị của \(1..N\)).
- Dòng ba: \(N\) số nguyên \(B_1, \dots, B_N\) (một hoán vị của \(1..N\)).
Output
Một số nguyên: số lượt tối thiểu, hoặc \(-1\) nếu không thể làm hai dãy giống nhau.
Constraints
- \(3 \le N \le 2 \cdot 10^5\)
- Subtask 1 (20%): \(N \le 7\)
- Subtask 2 (30%): \(N \le 100\)
- Subtask 3 (30%): \(N \le 2000\)
- Subtask 4 (20%): không có ràng buộc thêm
Sample Input 1
5
1 2 3 4 5
2 1 4 3 5
Sample Output 1
2
Sample Input 2
3
1 2 3
2 1 3
Sample Output 2
-1
Explanation
Ở ví dụ 1, hai dãy lệch nhau ở hai cặp vị trí độc lập \((1,2)\) và \((3,4)\); một lượt không thể sửa cả hai nên cần đúng \(2\) lượt. Ở ví dụ 2, hai dãy chỉ lệch nhau ở một cặp vị trí (một phép đổi chỗ duy nhất, tính chẵn lẻ không phù hợp), nên không có cách nào làm chúng trùng nhau, đáp án \(-1\).
Bình luận
Đăng nhập để bình luận
Chưa có bình luận nào.