GRASS - GRASS
Dữ liệu vào: Standard input
Dữ liệu ra: Standard output
Giới hạn thời gian: 1.0 giây
Giới hạn bộ nhớ: 512 megabyte
Đăng bởi: admin

Chú bò Gogh rất yêu bãi cỏ của mình và rất hay dạo chơi trên đó.

Gogh đã 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 N (1≤ N ≤100) hàng và M (1≤ M ≤100) cột, đồng thời đánh dấu chỗ nào là cỏ, chỗ nào là các vùng đất trống và chỗ nào là đá.

Mỗi buổi tối, Gogh lại được gọi về để vắt sữa nên Gogh cần chạy về chuồng nhanh nhất có thể. Tuy vậy, vì rất yêu cỏ nên Gogh muốn trên đường chạy về đi qua nhiều vùng cỏ nhất có thể.

Ban đầu, Gogh ở vị trí X,Y và khi được gọi, sẽ trở về chuồng ở ô 1, 1. Chú bò có thể đi từ 1 ô vuông sang 4 ô vuông khác kề cạnh, đi qua ô cỏ và ô đất trống nhưng không được đi vào ô có đá hay đi ra khỏi đồng cỏ.

Hãy tính xem Gogh đi qua được nhiều nhất bao nhiêu vùng cỏ biết trong chuồng thì không có cỏ.

Dưới đây là một bản đồ ví dụ (với đá (' * '), cỏ (' . '), đất trống (' x '), chuồng bò ('B'), và Gogh ('C') ở hàng 5, cột 6) và một bản đồ cho biết hành trình tối ưu của Gogh, đường đi được đánh dấu bằng chữ 'm'.

         

Dữ liệu: Nhập từ file GRASS.INP:

+ Dòng đầu tiên gồm 2 số nguyên N và M là kích thước bãi cỏ.

+ Tiếp theo là ma trận RxC thể hiện bãi cỏ.

Kết quả : Ghi ra file GRASS.OUT:

+ Dòng duy nhất là số ô cỏ mà Gogh đi qua.

Ví dụ:

GRASS.INP

GRASS.OUT

5 6

B.x..x

*.*x.x

xx**x.

*.x**.

.*.x.C

6

Ví dụ

Back to Top