DI CHUYỂN RÔ-BỐT

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 148 - 151)

Cho một đồ thị có hướng G gồm n đỉnh và m cung, hai con Rô-bốt đứng tại hai đỉnh nào đó.

Yêu cu:

Chuyn nhanh nht hai con Rô-bt đến gp nhau ti mt đỉnh ca đồ th, biết rng c hai con Rô-bt chđược chy theo các cung định hướng và không được dng li cho ti lúc gp nhau ti mt đỉnh nào đó. Thi gian Rô-bt đi qua mt cung bt k luôn là 1 đơn v thi gian

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

• Dòng 1: chứa 4 số nguyên dương n, m, A, B. Ởđây A và B lần lượt là vị trí của con rô-bốt thứ

nhất và vị trí của con rô-bốt thứ hai, 2 ≤ n ≤ 250, 1 ≤ m ≤ 60000.

• m dòng tiếp theo, mỗi dòng chứa hai số u, v tương ứng với một cung (u, v) của đồ thị

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

• Dòng 1: Ghi thời gian tính từ lúc bắt đầu di chuyển cho tới lúc hai rô-bốt gặp nhau

• Dòng 2: Ghi hành trình của con rô-bốt thứ nhất, theo đúng thứ tự từđỉnh A tới đỉnh gặp nhau • Dòng 3: Ghi hành trình của con rô-bốt thứ hai, theo đúng thứ tự từđỉnh B tới đỉnh gặp nhau

Các s trên mt dòng ca Input/Output file cách nhau ít nht mt du cách

Ràng buộc: Luôn có phương án thực hiện yêu cầu trên

Giới hạn : Chương trình chạy trên Turbo Pascal.

Ví dụ: RMOVE.INP RMOVE.OUT 4 5 1 2 1 2 2 1 2 4 3 2 4 3 3 1 2 1 2 2 4 3 2 2 1 4 3

139. TRM NGH

Một toán kỵ sĩ bỏ ngựa đi thám hiểm một khu rừng và đến khi trời tối, họ muốn đi về những trạm nghỉ. Rất may là các kỵ sĩđều có bản đồ khu rừng trong tay, nhờđó có thể xác định chính xác vị trí của họ, các trạm nghỉ, các khu vực có thú dữ và tất nhiên cả vị trí của các con ngựa (nơi họđã bỏ

lại).

Mỗi kỵ sĩ sẽ phải chọn cho mình một con ngựa, một trạm nghỉ và dùng còi siêu âm gọi con ngựa đó về trạm nghỉđã chọn. Mỗi trạm nghỉ chỉđủ chỗ cho một kỵ sĩ và một con ngựa.

Gi s rng có m trm ngh, n k sĩ, n con nga và bn là mt trong s nhng k sĩđó. Hãy vch ra hành trình cho các k sĩ và các con nga để thi gian tính t lúc bt đầu cho ti khi tt c các con nga và các k sĩ v ti trm ngh tương ng là nh nht.

Bản đồ khu rừng được mã hoá bằng một lưới ô vuông đơn vị kích thước pxq. Trên mỗi ô ghi một trong 5 ký hiệu:

• "%": Địa điểm có thú dữ

• ".": Địa điểm an toàn (không có thú dữ)

• "&": Địa điểm an toàn có một con ngựa đang đứng • "*": Địa điểm an toàn có một kỵ sĩđang đứng • "@": Trạm nghỉ

Với 1 đơn vị thời gian, mỗi kỵ sĩ và mỗi con ngựa có thể thực hiện một bước đi. Nhìn trên bản đồ, mỗi bước đi của một kỵ sĩ là một phép di chuyển từ ô đang đứng sang một trong các ô kề cạnh, bước đi này được mã hoá bằng một trong 4 ký hiệu {E, W, S, N}. Mỗi bước đi của một con ngựa là một phép di chuyển như một nước đi của quân mã theo luật cờ, bước đi này được mã hoá bằng một trong 8 ký hiệu {1, 2, 3, 4, 5, 6, 7, 8}. Các kỵ sĩ cũng như các con ngựa không được đi tới ô có thú dữ hay đi ra ngoài bản đồ. Các ký hiệu tương ứng với các hướng đi được chỉ ra trong hình dưới đây:

6 7

N 5 8

W * E &

S 4 1

3 2

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

• Dòng đầu tiên: Chứa hai số p, q cách nhau 1 dấu cách

• p dòng tiếp theo, dòng thứ i chứa q ký tự, ký tự thứ j là ký hiệu ghi trên ô (i, j) của bản đồ

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

• Dòng đầu tiên: Ghi thời gian nhanh nhất để tất cả các kỵ sĩ và các con ngựa về tới trạm nghỉ tương ứng

• 2n dòng tiếp theo, cứ hai dòng ghi hành trình của một kỵ sĩ:

♦ Dòng 1: Ghi hai số x, y cách nhau một dấu cách là vị trí ô (x, y) của một kỵ sĩ

Ví dụ:

( Kết quả file Output này sai ! ) Đáp án tối ưu phải là 3 mới đúng !

HORSEMAN.INP HORSEMAN.OUT 5 6 5 6 .&&.*. .%%... @@.@.@ &... *...*. 4 1 5 SSW 5 1 NN 5 5 NNE 1 2 3 1 3 2 4 1 1727

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 148 - 151)

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

(165 trang)