Điều hướng chính

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập kiemtrahethong

Kiểm tra hệ thống

Dễ DFS BFSSố học

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 100% Tỉ lệ AC
  • 1 Số AC

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

Chưa có bình luận nào.