Hành trình của nhà vua
Đề bài
Mô tả
Lãnh thổ của vương quốc là một bảng hình chữ nhật kích thước . Thủ đô nằm ở ô góc trên bên trái , ô góc dưới bên phải có toạ độ .
Nhà vua muốn đi một vòng quanh vương quốc rồi quay về thủ đô: hành trình bắt đầu tại , kết thúc tại , và mỗi ô khác thủ đô được thăm đúng một lần, còn thủ đô được thăm đúng hai lần (lúc đầu và lúc cuối). Nhà vua chỉ có thể di chuyển sang ô kề cạnh.
Việc này không phải lúc nào cũng làm được, nên người ta cho phép xây thêm các cổng dịch chuyển một chiều. Mỗi ô được đặt nhiều nhất một cổng, mỗi cổng có một ô đích cố định và có thể dùng bao nhiêu lần tuỳ ý. Khi đứng trên ô có cổng, nhà vua tự chọn dùng hoặc không dùng cổng đó.
Hãy tìm số cổng dịch chuyển ít nhất cần xây để nhà vua hoàn thành hành trình, và chỉ ra một hành trình cụ thể.
Dữ liệu vào
Một dòng duy nhất chứa hai số nguyên và cách nhau bởi dấu cách.
Dữ liệu ra
Dòng đầu tiên in số nguyên là số cổng dịch chuyển ít nhất.
dòng tiếp theo, mỗi dòng bốn số nguyên (; ): cổng được đặt tại ô và dẫn tới ô .
Sau đó in dòng, mỗi dòng hai số là toạ độ các ô theo đúng thứ tự nhà vua đi qua. Hành trình phải bắt đầu và kết thúc tại .
Nếu có nhiều đáp án, in ra đáp án bất kỳ.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 2 2 | 0 1 1 1 2 2 2 2 1 1 1 |
Bảng có sẵn một chu trình đi qua đủ 4 ô, không cần cổng nào. |
| 3 3 | 1 3 3 1 1 1 1 1 2 1 3 2 3 2 2 2 1 3 1 3 2 3 3 1 1 |
Với ô, nhà vua đi rắn bò qua hết bảng và dừng ở ; từ đây ô không kề cạnh nên cần một cổng . |
| 1 3 | 1 1 3 1 1 1 1 1 2 1 3 1 1 |
Dải ngang: đi tới cuối dải rồi dùng cổng để về, vì đường quay lại sẽ lặp ô . |
| 1 2 | 0 1 1 1 2 1 1 |
Chỉ có hai ô, nhà vua bước sang rồi bước ngược về thủ đô, không ô nào bị thăm thừa. |
Bình luận