Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C++, Python
Quân Mã
Mô tả và yêu cầu

Quân Mã
Một nước đi hợp lệ của quân Mã là một nước đi thỏa các điều kiện:
- Từ 1 ô di chuyển đến 1 trong 8 ô khác như mô tả ở hình bên;
- Không di chuyển vào ô đã có quân cờ khác;
- Không di chuyển ra khỏi biên của bàn cờ.
Cho 1 bàn cờ kích thước m x n (m hàng được đánh số từ trên
xuống dưới và và n cột được đánh số từ trái sang phải). Ban đầu,
trên bàn cờ có k quân Tốt, quân Tốt thứ i được đặt tại ô (ui, vi) và một quân Mã
được đặt tại ô (p, q) (không trùng với bất cứ ô nào có quân Tốt), sau 1 số nước đi
hợp lệ quân mã sẽ đến được ô (r, s).
Ví dụ: trên bàn cờ kích thước 5 x 6 có 3 quân Tốt và 1 quân Mã được đặt như hình
bên dưới, sau 4 nước đi hợp lệ như quân Mã từ ô (5, 2) có thể đi đến ô (4,3)

Yêu cầu: Hãy xác định số nước đi hợp lệ ít nhất để quân mã có thể đi từ ô (p, q)
đến ô (r, s).
Dữ liệu vào: cho trong file văn bản KNIGHT.INP có cấu trúc như sau:
- Dòng đầu ghi 3 số nguyên dương m, n và k (m, n ≤ 100, k ≤ 1000).
- Dòng thứ 2 ghi 4 số nguyên dương p, q, r, s.
- Dòng thứ i trong k dòng tiếp theo mỗi dòng ghi 2 số ui và vi.
Kết quả: ghi ra file văn vản KNIGHT.OUT chỉ gồm 1 số là số nước đi hợp lệ ngắn
nhất tìm được (ghi -1 nếu không tìm được).

Ví dụ
KNIGHT.INP                             KNIGHT.OUT
                  5 6 3                                  4
                  5 2 4 3
                  3 1
                  1 6
                  2 3

Tải PDF gốc


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.