DHBB 2017 - CHVT - 10 - Đường đi ngắn nhất
Xem dạng PDFTrong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài
Sau một thời gian dài xung đột, 2 bộ tộc Yama và Chacha đã quyết định xóa bỏ mọi mâu thuẫn, quay trở lại sống hòa thuận như xưa. Để bắt đầu cho một giai đoạn mới, người dân 2 bộ tộc cùng nhau xây một con đường nối 2 vùng lãnh thổ với nhau. Bài toán đặt ra là con đường nào ngắn nhất?
Có thể coi lãnh thổ của 2 bộ tộc nằm trong một bảng các ô vuông. Mỗi bộ tộc sở hữu một tập các ô vuông liên thông (có thể đi đến nhau qua các ô vuông chung cạnh trong tập). Ban đầu không có 2 ô vuông nào thuộc 2 bộ tộc có cạnh chung. Con đường cần xây sẽ phải bao gồm một số ô vuông liên thông với nhau và có một ô vuông kề cạnh với một ô vuông thuộc bộ tộc Yama, một ô kề cạnh với một ô vuông thuộc bộ tộc Chacha. Hãy tìm con đường chiếm ít ô vuông nhất.
Yêu cầu: Tìm số lượng ô vuông ít nhất cần chiếm để nối hai vùng lãnh thổ.
Input
- Dòng 1: ghi 2 số nguyên ~M, N~ (~1 \le M, N \le 50~) là số dòng và cột của bản đồ.
- ~M~ dòng tiếp: mỗi dòng ghi ~N~ kí tự mô tả một dòng của bản đồ, kí tự ‘.’ thể hiện ô trống, kí tự ‘X’ thể hiện ô thuộc sở hữu của một bộ tộc. Các kí tự ‘X’ đảm bảo sẽ hình thành 2 vùng liên thông.
Output
- Ghi ra số lượng ô vuông ít nhất mà một con đường cần chiếm.
Sample Input 1
6 16
................
..XXXX....XXX...
...XXXX....XX...
.XXXX......XXX..
........XXXXX...
.........XXX....
Sample Output 1
3
Bình luận