MÃ LIÊN HOÀN

Một phần của tài liệu 150 Bài Toán Tin Lê Minh Hoàng Đại học Sư Phạm Hà Nội 2004 – 2006 potx (Trang 140 - 141)

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

• "#": Ô cấm

• "$": Ô tự do có một quân 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 hoà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 quân mã có thểđứng yê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 quá một quân mã ♦ Toàn đội hình các quân mã phải liên hoàn.

Yêu cu:

Hãy tìm mt s hu hn các lnh hành quân để chuyn đội hình các quân mã v các ô @ ! Càng ít lnh bao nhiêu càng tt !

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 mt dòng ca Output file ghi cách nhau ít nht mt du 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 hoà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 Bài Toán Tin Lê Minh Hoàng Đại học Sư Phạm Hà Nội 2004 – 2006 potx (Trang 140 - 141)