Đổi chỗ các cột
Đề bài
Mô tả
Cho một bảng kích thước (hai hàng, cột), các ô chứa số nguyên trong đoạn .
Trong một bước, bạn chọn một cột () và đổi chỗ hai giá trị và trong cột đó. Mỗi cột được chọn nhiều nhất một lần.
Hãy tìm số bước ít nhất để cả hàng thứ nhất lẫn hàng thứ hai đều trở thành một hoán vị của , hoặc cho biết điều đó là không thể.
Một hoán vị kích thước là một dãy số chứa mỗi số nguyên từ đến đúng một lần (thứ tự các phần tử không quan trọng).
Dữ liệu vào
- Dòng đầu chứa số nguyên : số bộ dữ liệu.
- Mỗi bộ dữ liệu gồm ba dòng:
- Dòng thứ nhất chứa số nguyên : số cột của bảng.
- Dòng thứ hai chứa số nguyên : hàng thứ nhất.
- Dòng thứ ba chứa số nguyên : hàng thứ hai.
Dữ liệu ra
Với mỗi bộ dữ liệu:
- Nếu không thể biến cả hai hàng thành hoán vị, in ra .
- Ngược lại, in ra số nguyên là số bước ít nhất trên một dòng, rồi in ra chỉ số cột đôi một khác nhau () theo thứ tự bất kỳ trên dòng tiếp theo. Nếu thì dòng thứ hai để trống.
Nếu có nhiều đáp án cùng đạt số bước ít nhất, in ra đáp án nào cũng được.
Ràng buộc
- Tổng trên tất cả các bộ dữ liệu không vượt quá .
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 6 4 1 2 3 4 2 3 1 4 5 5 3 5 1 4 1 2 3 2 4 3 1 2 1 3 3 2 4 1 2 2 1 3 4 3 4 4 4 3 1 4 3 2 2 1 3 1 1 2 3 2 2 |
0 2 3 2 1 1 2 4 3 2 4 3 -1 |
Bộ 1: hai hàng đã là hoán vị nên không cần bước nào. Bộ 2: đổi cột 3 và cột 2 cho ta hàng 1 là 5 2 3 1 4 và hàng 2 là 1 3 5 2 4. Bộ 6: giá trị 2 xuất hiện ba lần trong bảng nên không thể. |
| 4 1 1 1 2 1 1 2 2 3 1 2 3 1 2 3 2 1 2 2 1 |
0 1 2 0 0 |
Bộ 2: hai hàng đang là 1 1 và 2 2; đổi chỗ cột 2 cho ta 1 2 và 2 1. Bộ 3: mỗi giá trị nằm trọn trong một cột nên dù đổi chỗ hay không, hai hàng vẫn giống nhau và đều là hoán vị. |
Bình luận