MÃ LIÊN HOÀN

Một phần của tài liệu 150 bai tap toan tin (Trang 140 - 141)

Mỗi ơ trên bàn cờ tổng qt kích thước nxn được mã hố bằng các ký hiệu sau: • ".": Ô tự do

• "#": Ô cấm

• "$": Ô tự do có một qn mã đang đứng • "@": Ô tự do tương ứng với một vị trí tập kết

Đội hình các quân mã được gọi là "liên hồn" nếu chúng tạo thành một miền liên thơng theo quan

hệ mã giao chân.

Một lệnh hành quân là một phép di chuyển đội hình các quân mã thoả mãn: • Mỗi qn mã có thể đứng n hoặc thực hiện đúng một nước đi theo luật cờ • Sau lệnh hành quân:

♦ Các quân mã chỉ nằm trên các ô tự do ♦ Mỗi ô chứa khơng q một qn mã ♦ Tồn đội hình các qn mã phải liên hồn.

u cầu:

Hãy tìm một số hữu hạn các lệnh hành quân để chuyển đội hình các qn mã về các ơ @ ! Càng ít lệnh bao nhiêu càng tốt !

Dữ liệu: Vào từ file văn bản KMOVE.INP

• Dịng 1: Chứa số n

• n dịng tiếp theo, dịng thứ i chứa n ký tự, ký tự thứ j là ký hiệu tương ứng với ô (i, j)

Kết quả: Ghi ra file văn bản KMOVE.OUT

Gồm một số dòng, mỗi dòng ghi một lệnh hành quân: gồm các bộ 4 số x1, y1, x2, y2 tượng trưng cho nước đi của một quân mã từ ô (x1, y1) đến ô (x2, y2)

Các số trên một dòng của Output file ghi cách nhau ít nhất một dấu cách

Ràng buộc: Trạng thái ban đầu của bàn cờ được cho để luôn tồn tại phương án thực hiện yêu cầu

trên. 2 ≤ n ≤ 100; 1 ≤ Số ô $ = Số ô @ ≤ 100; Tập các ô $ cũng như tập các ô @ đều là đội hình mã liên hồn. Ví dụ: KMOVE.INP KMOVE.OUT 6 ...... $..@#. ..$... $..#@# #....# 3 3 4 5 4 1 3 3 4 5 6 4 3 3 4 5 2 1 3 3 4 5 2 4 3 3 4 5

Một phần của tài liệu 150 bai tap toan tin (Trang 140 - 141)

Tải bản đầy đủ (PDF)

(165 trang)