Chìa khóa và cửa
Đề bài
Mô tả
Một robot đứng ở ô S của bản đồ hàng, cột và cần đến ô T. Các ký tự trên bản đồ:
.là ô trống,#là tường,SvàTcũng là ô trống;- chữ thường
ađếnflà ô có chìa khóa: khi robot bước vào ô này, nó nhặt chìa và giữ mãi mãi (chìa không mất đi khi mở cửa); - chữ hoa
AđếnFlà cửa: robot chỉ được bước vào ô cửaAnếu đang giữ chìaa, tương tự với các chữ khác.
Mỗi bước robot đi sang một ô chung cạnh (lên, xuống, trái, phải), không ra khỏi bản đồ và không vào tường. Hãy tìm số bước ít nhất để robot đến T, hoặc in nếu không thể.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên .
- dòng tiếp theo, mỗi dòng là một xâu độ dài gồm các ký tự đã mô tả. Có đúng một
Svà đúng mộtT.
Dữ liệu ra
In một số nguyên: số bước ít nhất, hoặc .
Ràng buộc
- ,
- Mỗi loại chìa và mỗi loại cửa có thể xuất hiện nhiều lần hoặc không xuất hiện.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 7 S..A..T .#####. .#b..B. .###.#. a....#. |
14 | Đi xuống 4 bước lấy chìa a, quay lên S thêm 4 bước, rồi đi sang phải qua cửa A thêm 6 bước. Đường qua chìa b và cửa B dài hơn. |
| 3 6 S.a#.. ##B#.. ...A.T |
-1 | Lấy được chìa a nhưng muốn đến cửa A phải đi qua cửa B, mà không có chìa b. |
Bình luận