Mã Đi Tuần
Xem dạng PDFCho một bàn cờ kích thước ~n \times m~. Hãy tìm một dãy các nước đi của quân mã sao cho quân mã đi qua mỗi ô đúng một lần. Ban đầu bạn được đặt quân mã ở bất kỳ ô nào.
Quân mã đi theo hình chữ L: từ ô ~(r, c)~ nó có thể nhảy tới ô ~(r', c')~ nếu ~\{|r - r'|, |c - c'|\} = \{1, 2\}~.
Dữ liệu vào
Một dòng duy nhất chứa hai số nguyên ~n~ và ~m~.
Kết quả
In ra một bảng kích thước ~n \times m~ thể hiện thứ tự đi thăm các ô, bắt đầu từ ~1~. Nếu có nhiều đáp án, in ra một đáp án bất kỳ.
Nếu không tồn tại hành trình nào thỏa mãn, in ra ~-1~.
Ví dụ
Đầu vào:
5 5
Đầu ra:
1 20 9 14 3
10 15 2 19 24
21 8 23 4 13
16 11 6 25 18
7 22 17 12 5
Giải thích: Quân mã bắt đầu ở ô ~(1, 1)~ và kết thúc ở ô ~(4, 4)~, đi qua cả ~25~ ô đúng một lần. Mọi hành trình hợp lệ khác cũng được chấp nhận.
Giới hạn
- ~1 \le n, m \le 7~
Lưu ý rằng có những bàn cờ không tồn tại hành trình nào, ví dụ ~2 \times 2~, ~3 \times 3~ hay ~4 \times 4~ — với những trường hợp đó hãy in ~-1~.
Bình luận