137. PHỦ
Cho một đồ thị vô hướng G = (V, E) có n đỉnh và m cạnh, không có đỉnh cô lập
Hãy chọn ra một tập ít nhất các cạnh để tất cả các đỉnh của đồ thị đều là đầu mút của ít nhất một cạnh trong tập đã chọn
Dữ liệu: Vào từ file văn bản COVER.INP
-
Dòng 1: Chứa hai số n, m là số đỉnh và số cạnh của đồ thị (1 n 100)
-
m dòng tiếp theo, mỗi dòng ghi hai số u, v tương ứng với một cạnh (u, v) của đồ thị
Kết quả: Ghi ra file văn bản COVER.OUT
-
Dòng 1: Ghi số k là số cạnh được chọn
-
k dòng tiếp theo, mỗi dòng ghi chỉ số hai đỉnh đầu mút của một cạnh được chọn
Ví dụ:
COVER.INP
|
|
COVER.OUT
|
10 11
1 2
6 1
2 4
2 8
3 4
3 6
5 6
5 9
5 10
7 8
9 7
|
|
5
6 1
2 8
3 4
5 10
9 7
|
138. DI CHUYỂN RÔ-BỐT
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 cầu:
Chuyển nhanh nhất hai con Rô-bốt đến gặp nhau tại một đỉnh của đồ thị, biết rằng cả hai con Rô-bốt chỉ được chạy theo các cung định hướng và không được dừng lại cho tới lúc gặp nhau tại một đỉnh nào đó. Thời gian Rô-bốt đi qua một cung bất kỳ luôn là 1 đơn vị thời 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 một dòng của Input/Output file cách nhau ít nhất một dấu cách
Ràng buộc: Luôn có phương án thực hiện yêu cầu trên
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
|
|
139. TRẠM 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ử rằng có m trạm nghỉ, n kỵ sĩ, n con ngựa và bạn là một trong số những kỵ sĩ đó. Hãy vạch ra hành trình cho các kỵ sĩ và các con ngựa để thời gian tính từ lúc bắt đầu cho tới khi tất cả các con ngựa và các kỵ sĩ về tới trạm nghỉ tương ứng là nhỏ nhất.
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ĩ
-
Dòng 2: Ghi một dãy ký tự tượng trưng cho một dãy các bước đi của kỵ sĩ từ ô (x, y) theo đúng thứ tự này đến một trạm nghỉ.
-
2n dòng tiếp theo, cứ hai dòng ghi hành trình của một con ngựa:
-
Dòng 1: Ghi hai số u, v cách nhau một dấu cách là vị trí ô (u, v) của một con ngựa
-
Dòng 2: Ghi một dãy ký tự tượng trưng cho một dãy các bước đi của con ngựa từ ô (u, v) theo đúng thứ tự này đến một trạm nghỉ.
Ràng buộc:
-
5 p, q 100
-
1 n = số ô "&" = số ô "*" 100
-
n m = số ô "@" 100
-
Luôn luôn có phương án thực hiện yêu cầu của đề bài
Ví dụ:
HORSEMAN.INP
|
|
HORSEMAN.OUT
|
5 6
.&&.*.
.##...
@@.@.@
&.....
*...*.
|
|
4
1 5
SSW
5 1
NN
5 5
NNE
1 2
3
1 3
2
4 1
1727
|
Chia sẻ với bạn bè của bạn: |