QJ229 - Mê cung và cạm bẫy

Xem dưới dạng PDF

Gửi bài giải

Điểm: 100
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Kiểu bài tập

Minh đang chơi một trò chơi mê cung, trong trò chơi cậu phải điều khiển nhân vật của mình thoát khỏi một mê cung hai chiều gồm $N \times N$ ô.

Vị trí xuất phát của Minh ở góc trên bên trái, cậu cần đến được ô ở góc dưới bên phải để thoát khỏi mê cung.

Mỗi bước, cậu có thể di chuyển sang ô kề trên, dưới, trái, phải (với điều kiện ô đích có thể đi qua được).

Trong mê cung có những ô Minh có thể đi qua, ta ký hiệu là .;

Có những ô là tường, Minh không thể đi qua, ta ký hiệu là #.

Ngoài ra, có những ô có cạm bẫy, ta ký hiệu là X. Trừ khi Minh đang ở trạng thái bất tử, nếu không thì không thể đi qua.

Có những ô có vật phẩm bất tử, ta ký hiệu là %.

Khi Minh đến ô đó lần đầu tiên, cậu tự động nhận được trạng thái bất tử, trạng thái bất tử kéo dài $K$ bước.

Sau đó nếu đến ô này lần nữa thì sẽ không nhận được trạng thái bất tử nữa.

Khi ở trạng thái bất tử, có thể đi qua ô có cạm bẫy, nhưng không tháo gỡ / phá hủy cạm bẫy, tức là cạm bẫy vẫn ngăn nhân vật không có trạng thái bất tử đi qua.

Cho mê cung, hãy tính số bước ít nhất để Minh thoát khỏi mê cung.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên $N$ và $K$. $(1 \le N \le 1000, 1 \le K \le 10)$.

$N$ dòng tiếp theo chứa một ma trận $N\times N$.

Ma trận đảm bảo góc trên bên trái và góc dưới bên phải là ..

Dữ liệu ra

Một số nguyên biểu thị đáp án. Nếu Minh không thể rời khỏi mê cung, in ra $-1$.

Ví dụ 1

Input

5 3
...XX
##%#.
...#.
.###.
.....

Output

10

Ví dụ 2

Input

5 1
...XX
##%#.
...#.
.###.
.....

Output

12

Ghi chú

Nguồn: Lanqiao Cup 2018, vòng chung kết quốc gia lần thứ 9


Nhận xét

Không có ý kiến tại thời điểm này.