Hoán vị trộn
Đề bài
Mô tả
Cho hai dãy số nguyên dương độ dài : và . Biết rằng các phần tử của hai dãy số là các số nguyên dương, không nhất thiết phân biệt, được lấy từ tập .
Đối với hai dãy đã cho, ta có thể thực hiện phép biến đổi sau đây: chọn hai chỉ số và với , sau đó hoán đổi hai dãy con và của hai dãy cho nhau, ta thu được hai dãy mới:
và:
Như vậy, phép biến đổi nêu trên được xác định bởi cặp hai chỉ số .
Nếu sau khi thực hiện phép biến đổi như vậy có ít nhất một trong hai dãy thu được là hoán vị của , thì ta thu được một hoán vị trộn.
Yêu cầu: Hãy xác định xem có thể thu được hoán vị trộn bởi bao nhiêu cách. Hai cách là khác nhau nếu cặp chỉ số khác nhau (kể cả khi các dãy thu được giống nhau). Mỗi cách chỉ được tính một lần, kể cả khi cả hai dãy thu được đều là hoán vị.
Dữ liệu vào
Dữ liệu gồm nhiều test có cấu trúc như sau:
- Dòng đầu tiên là số là số test. Sau đó là các test, mỗi test gồm:
- Dòng thứ nhất chứa số nguyên .
- Dòng thứ hai chứa dãy số .
- Dòng thứ ba chứa dãy số .
Dữ liệu ra
Gồm dòng, mỗi dòng một số nguyên, tương ứng là số cách khác nhau có thể thu được hoán vị trộn nhờ thực hiện phép biến đổi đã nêu đối với hai dãy tương ứng trong dữ liệu vào.
Ràng buộc
- .
- .
- .
Subtasks
- Subtask 1 ( số test, ứng với số điểm): .
- Subtask 2 ( số test khác, ứng với số điểm): .
- Subtask 3 ( số test còn lại, ứng với số điểm): .
Bài được chấm theo từng test, mỗi test có cùng số điểm.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 6 3 2 1 4 4 5 2 3 3 4 6 5 2 1 2 1 2 |
8 3 |
Test 1: các cặp làm dãy thứ hai thành hoán vị (chẳng hạn cho ); các cặp làm dãy thứ nhất thành . Test 2: cả cặp đều cho hai dãy , mỗi cặp tính một lần. |
| 3 1 1 1 3 1 1 1 1 1 1 4 2 1 3 3 2 4 1 3 |
1 0 6 |
Test 1: chỉ có cặp . Test 2: không cặp nào cho hoán vị. Test 3: các cặp giữ dãy thứ hai là ; các cặp làm dãy thứ nhất thành . |
Bình luận