Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

VMAZE - Mê cung




         Aladdin rất thích đi khám phá vùng hoang mạc quanh thành Baghdad. Vào một đêm sáng trăng trời quang mây tạnh, Aladdin tình cờ phát hiện ra một cửa hang bí mật. Trong hang là một mê cung cực kì phức tạp. Sợ rằng nếu đâm đầu vào thì không tìm được đường ra, Aladdin không vội vào ngay mà về nhà tìm hiểu kĩ càng.

         Sau nhiều ngày mài mông ở kho sách tìm đọc các tư liệu cổ, Aladdin phát hiện ra rằng mê cung này được vua Midas năm xưa xây lên để giấu kho báu. Mê cung có thể xem là một hình chữ nhật kích thước NxM, được tạo thành từ các phòng hình vuông. Mỗi phòng có nhiều nhất 4 phòng kề cạnh theo 4 hướng Đông, Tây, Nam, Bắc. Trong mỗi phòng có thể có cửa thông đến 2 phòng kề cạnh về phía Đông và Tây, hoặc 2 phòng kề cạnh theo hướng Bắc và Nam, hoặc cả bốn phòng kề cạnh. Có một số phòng không có cửa thông sang bất kì phòng nào. Một điều đặc biệt ở mê cung này (do bùa phép của vua Midas) : giả sử A và B là 2 phòng kề cạnh. Từ A chỉ có thể trực tiếp đi đến B (hoặc ngược lại) nếu phòng A có cửa thông đến B và B cũng có cửa thông qua A (1).

         Aladdin nhận thấy mê cung nếu để nguyên thì không thể tìm được đường đến kho báu. Vậy là phải nhờ đến thần đèn : mỗi phép của thần đèn sẽ thêm các cánh cửa ma thuật vào một phòng nào đó, làm cho phòng này có đủ cả 4 cửa thông sang các phòng bên cạnh. Dĩ nhiên thần đèn không giúp đỡ không công : số phép sử dụng càng nhiều thì phần kho báu mà Aladdin phải chia cho thần đèn càng lớn. Vậy nên Aladdin sẽ cố tìm một đường đi đến kho báu mà cần phải thay đổi ít phòng nhất.

         Biết rằng cửa hang dẫn trực tiếp đến phòng ở góc Tây Nam (dưới trái), còn kho báu nằm trong phòng ở góc Đông Bắc (phải trên).

Yêu cầu

         Cho biết kích thước và miêu tả của mê cung. Hãy tính xem cần phải thay đổi ít nhất bao nhiêu phòng để tìm được đường đi từ cửa hang đến phòng chứa kho báu.

Input

         Dòng thứ nhất gồm 2 số nguyên dương M và N (kích thước mê cung)

         M dòng sau là bảng S kích thước MxN mô tả mê cung.

                 S[i,j] = ‘+’ : có đường đến 4 phòng kề cạnh

                 S[i,j] = ‘-’  : có đường đến 2 phòng kề phía Đông và Tây

                 S[i,j] = ‘|’  : có đường đến 2 phòng kề phía Bắc và Nam

                 S[i,j] = ‘.’  : không thông sang phòng nào bên cạnh

         Giải thích câu (1) : giả sử A, B, C là 3 phòng liền kề theo thứ tự từ Đông sang Tây và được miêu tả bằng dãy "|+-" thì chỉ có thể di chuyển giữa 2 phòng B và C (thứ 2 và thứ 3). Do từ A không có đường qua B nên từ B cũng không thể qua A.

Giới hạn

         Trong tất cả các test M, N <= 2000;  

         Subtask 1 (33%) : M,  N <= 50

         Subtask 2 (67%) : Không có giới hạn của M, N

Output

         Một số nguyên dương duy nhất là số phòng ít nhất cần được thay đổi.

Example

Input 1:

3 2
|--|+.
2 3
|--
|+.
Output 1:
1
Input 2:
3 3
|||
|||
|||
Output 2:
3

Được gửi lên bởi:VOJ Team
Ngày:2014-08-21
Thời gian chạy:1s-4s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED
Nguồn bài:VNOI Marathon 2014 - Round 4

hide comments
2016-07-26 08:56:33
bài này time thích thật <3
2015-06-01 12:06:04 Phong
bùm phát thông cả 2 phòng luôn hay phải 2 phát 2 phòng nếu 1 phòng chưa thông ?
kiểu trường hợp :
1 2
..
cần dùng 1 hay 2 ?
2014-08-22 08:29:31 Con Bò Huyền Thoại
đề này hay!
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.