Máy cắt cỏ
Đề bài
Mô tả
Một khu vườn hình chữ nhật gồm hàng và cột. Các hàng được đánh số từ đến từ trên xuống dưới, các cột được đánh số từ đến từ trái sang phải. Ô nằm ở hàng cột được ký hiệu là . Mỗi ô hoặc là cỏ sạch, hoặc là cỏ dại.
Bạn đứng cùng máy cắt cỏ tại ô góc trên bên trái và ban đầu đang quay mặt sang phải. Tại mỗi bước bạn thực hiện đúng một trong hai thao tác:
- Đi một ô theo hướng đang quay mặt: nếu đang quay sang phải thì đi từ sang , nếu đang quay sang trái thì đi từ sang .
- Đi xuống một ô, từ sang , đồng thời đổi hướng quay mặt sang hướng ngược lại.
Bạn không được phép đi ra ngoài khu vườn. Một ô cỏ dại được cắt ngay khi bạn đứng trên ô đó, không phụ thuộc vào hướng đang quay mặt và việc cắt không tính là một bước đi.
Hãy tìm số bước đi ít nhất để cắt hết toàn bộ cỏ dại trong vườn.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số hàng và số cột của khu vườn.
- dòng tiếp theo, mỗi dòng chứa ký tự mô tả khu vườn. Ký tự
Gnghĩa là ô đó là cỏ sạch, ký tựWnghĩa là ô đó có cỏ dại.
Đảm bảo ô góc trên bên trái luôn là cỏ sạch.
Dữ liệu ra
In ra một số nguyên duy nhất: số bước đi ít nhất để cắt hết cỏ dại.
Ràng buộc
- Mỗi ký tự của lưới thuộc
G,W - Ô là
G
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 5 GWGGW GGWGG GWGGG WGGGG |
11 | Hàng 1 đi sang phải từ cột 1 tới cột 5 (4 bước, cắt và ), xuống hàng 2 rồi đi sang trái từ cột 5 về cột 2 (3 bước, cắt ), xuống hàng 3 và đứng yên (đã ở cột 2, cắt ), xuống hàng 4 rồi đi sang trái 1 bước tới cột 1 (cắt ). Tổng bước. |
| 3 3 GWW WWW WWG |
7 | Hàng 1 đi sang phải tới cột 3 (2 bước), xuống hàng 2 (1 bước) rồi đi sang trái về cột 1 (2 bước), xuống hàng 3 (1 bước) rồi đi sang phải tới cột 2 (1 bước). Tổng bước, quét đủ cả 7 ô cỏ dại. |
| 1 1 G |
0 | Không có cỏ dại nào, không cần di chuyển. |
Bình luận