Đây là một bài BFS đơn giản để luyện tập.
Loang từ vị trí bắt đầu C
đến vị trí cuối B
, trong quá trình loang cập nhật lại độ dài đường đi (tức số cỏ ăn được)
https://vn.spoj.com/problems/VMUNCH
https://oj.vnoi.info/problem/VMUNCH
Bessie rất yêu bãi cỏ của mình và thích thú chạy về chuồng bò vào giờ vắt sữa buổi tối.
Bessie đã chia đồng cỏ của mình là 1 vùng hình chữ nhật thành các ô vuông nhỏ với R
(1 <= R <= 100
) hàng và C
(1 <= C <= 100
) cột, đồng thời đánh dấu chỗ nào là cỏ và chỗ nào là đá. Bessie đứng ở vị trí Rb,Cb
và muốn ăn cỏ theo cách của mình, từng ô vuông một và trở về chuồng ở ô 1,1
; bên cạnh đó đường đi này phải là ngắn nhất.
Bessie có thể đi từ 1 ô vuông sang 4 ô vuông khác kề cạnh.
Dưới đây là một bản đồ ví dụ, với đá (*
), cỏ (.
), chuồng bò (B
), và Bessie (C
) ở hàng 5, cột 6, và một bản đồ cho biết hành trình tối ưu của Bessie, đường đi được dánh dấu bằng chữ m
.
Bản đồ Đường đi tối ưu
1 2 3 4 5 6 1 2 3 4 5 6
1 B . . . * . 1 B m m m * .
2 . . * . . . 2 . . * m m m
3 . * * . * . 3 . * * . * m
4 . . * * * . 4 . . * * * m
5 * . . * . C 5 * . . * . m
Bessie ăn được 9 ô cỏ.
Cho bản đồ, hãy tính xem có bao nhiêu ô cỏ mà Bessie sẽ ăn được trên con đường ngắn nhất trở về chuồng (tất nhiên trong chuồng không có cỏ đâu nên đừng có tính nhé)
R
và C
R+1
: Dòng i+1
mô tả dòng i
với C
ký tự (và không có dấu cách) như đã nói ở trên.Input
5 6
B...*.
..*...
.**.*.
..***.
*..*.C
Output
9
Đây là một bài BFS đơn giản để luyện tập.
Loang từ vị trí bắt đầu C
đến vị trí cuối B
, trong quá trình loang cập nhật lại độ dài đường đi (tức số cỏ ăn được)