Buff Flash

View as PDF

Submit solution

Points: 100.00
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Buff Flash là 1 công việc đắc lực của Bob152 khi bắn csgo cùng với những người anh em .Trong cả team thì Bob152 là người ném flash chính , với tài năng sáng tạo những quả flash không ngờ tới, địch không thể tránh khỏi việc bị mù trắng xóa (đôi khi gây mù cả LeVanThuc).Mỗi Round đấu bên CT , Bob152 đều chạy ra Boom site B để buff flash cho những người đồng đội thiện lành bắn nhau và đa số đều rất thành công.Nhưng dạo này , Bob152 đang bị mất não nên anh ấy không nhớ nơi để canh ném flash nhưng thật may mắn , ldn694 đã ghi chép lại những nơi mà Bob152 có thể ném flash.Bản đồ map inferno được biểu diễn dưới dạng 1 ma trận n x m (n hàng , m cột) với mỗi ~a_{ij}~ chứa 3 trong số các kí hiệu sau :

"." : Đường này đi được.

"#" : Bức tường.

"B": Nơi có thể ném flash.

Vì đánh rơi não nên dù có thông tin của ldn694 thì Bob152 vẫn không thể nào tìm ra được 1 đường đi sao cho ngắn nhất để buff flash kịp thời cho cả team nên anh ấy quyết định nhờ bạn viết chương trình giúp anh ấy tìm đường đi sao cho ngắn nhất đến 1 trong những nơi có thể buff flash cho đồng đội.

Lưu ý : Bob152 chỉ có thể di chuyển qua phải , trái hoặc xuống dưới , lên trên.

Input :
Dòng thứ nhất chứa 2 số nm.

n+1 dòng tiếp theo mỗi dòng chứa m số biểu diễn ma trận.

Output:

Đường đi ngắn nhất đến nơi mà Bob152 có thể buff flash. Biết rằng Bob152 luôn xuất phát tại điểm (1 ,1 ) và xuất phát điểm luôn không phải #.

Example input :

3 5
.#..#
.B..B
.B..B 

Example output :

2

Giới hạn : n , m ~\leq~ ~10^3~.

Giải thích test ví dụ : Đường đi ngắn nhất : (1,1) -> (2,1 ) -> (2,2) và có độ dài là 2.


Comments

Please read the guidelines before commenting.