ii. Các dây cung đôi một không có điểm chung
Dữ liệu: Vào từ file văn bản CHORDS.INP
• Dòng 1: Ghi hai số nguyên dương n, R cách nhau một dấu cách (1 ≤ n ≤ 5000; 1 ≤ R ≤ 10001) • 2n dòng tiếp theo, dòng thứ i chứa thông tin vềđiểm thứ i:
♦ Đầu dòng là ký tự Ci.
♦ Tiếp theo là hoành độ Xi (-R < Xi < R) ♦ Tiếp theo là số nguyên Di
Ba thành phần này được ghi cách nhau đúng một dấu cách
Kết quả: Ghi ra file văn bản CHORDS.OUT
Gồm n dòng, mỗi dòng ghi chỉ số hai điểm tương ứng trên một dây cung.
Ví dụ: CHORDS.INP CHORDS.OUT 4 3 B -1 1 R -1 -1 R 1 -1 B 0 1 R -2 -1 B 2 1 R 2 -1 B 0 -1 8 3 1 5 4 2 6 7 1 O(0,0) 4 6
081. MÊ CUNG
Bản đồ mê cung có dạng hình chữ nhật kích thước mxn được chia thành lưới ô vuông đơn vị bằng các đường song song với các cạnh (m hàng, n cột). Mỗi ô vuông của bản đồđược đánh dấu hoặc là ô cấm, hoặc là ô tự do. Từ một ô tự do có thể di chuyển sang các ô tự do có chung cạnh với nó. Không được phép di chuyển vượt khỏi biên của mê cung.
Mê cung được thiết kế khá đặc biệt, giữa hai ô tự do bất kỳ chỉ có duy nhất một cách di chuyển từ
ô này đến ô kia mà trong quá trình di chuyển không đi tới bất kỳ ô nào quá một lần. Tại tâm của mỗi ô tự do đều có một cái móc. Trong mê cung có hai ô tự do đặc biệt, mà nếu bạn nối được hai cái móc ở hai ô đó bằng một sợi dây thừng (tất nhiên phải nối qua các móc của các ô trung gian) thì cánh cửa bí mật của mê cung sẽ tự mở ra.
Vấn đềđặt ra là phải chu n bị một sợi dây thừng với độ dài ngắn nhất đảm bảo cho dù hai ô đặc biệt có nằm ở vị trí nào trong mê cung, bạn vẫn có thể nối được hai cái móc ở hai ô đó bằng sợi dây đã chu n bị.
Dữ liệu: Vào từ file văn bản LABYR.INP
Dòng đầu tiên chứa hai số n, m (3 ≤ m, n ≤ 1000)
Các dòng tiếp theo mô tả mê cung, dòng thứ i trong số m dòng tiếp theo chứa n ký tự, mỗi ký tự chỉ
là "#" hoặc ".". Trong đó ký tự "#" cho biết ô ở vị trí tương ứng là bị cấm, còn ký tự "." cho biết ô ở
vị trí tương ứng là tự do (1 ≤ i ≤ m).
Kết quả: Ghi ra trên một dòng của file văn bản LABYR.OUT độ dài của sợi dây thừng cần chuNn bị.
Ví dụ:
LABYR.INP LABYR.OUT LABYR.INP LABYR.OUT ### ### #.# ### 0 8 10 ######## ...# .#.#.#.# .#####.# #....#.# #.##.#.# #.##...# #.#.##.# #.#.##.# #...## 29