Thành phố của Okabe
Đề bài
Mô tả
Thành phố được mô tả bởi một lưới ô. 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. Trong thành phố có đúng ô được chiếu sáng sẵn bởi đèn đường, trong đó chắc chắn có ô góc trên bên trái .
Okabe xuất phát từ ô và muốn tới ô . Anh chỉ đi được trên những ô đang sáng, và mỗi bước chỉ di chuyển sang ô kề cạnh theo bốn hướng lên, xuống, trái, phải.
Ngoài ra, Okabe có thể trả đồng xu để thắp sáng tạm thời toàn bộ một hàng hoặc toàn bộ một cột tuỳ chọn, nhờ đó đi qua được cả những ô vốn không sáng. Tại mỗi thời điểm chỉ có nhiều nhất một hàng hoặc một cột được thắp sáng tạm thời. Muốn đổi sang hàng/cột khác, Okabe phải đang đứng trên một ô được chiếu sáng sẵn và trả thêm đồng xu. Ngay khi đổi, hàng/cột tạm thời cũ tắt trở lại: mọi ô trong đó không được chiếu sáng sẵn sẽ tối lại như cũ.
Hãy tìm số đồng xu ít nhất Okabe cần trả để đi từ tới .
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- dòng tiếp theo, dòng thứ chứa hai số nguyên và là hàng và cột của ô được chiếu sáng sẵn thứ .
Các ô được chiếu sáng sẵn đôi một phân biệt, và ô chắc chắn nằm trong số đó. Lưu ý ô đích có thể không được chiếu sáng sẵn.
Dữ liệu ra
In ra một số nguyên duy nhất là số đồng xu ít nhất Okabe cần trả, hoặc nếu không thể tới được ô .
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 4 5 1 1 2 1 2 3 3 3 4 3 |
2 | Từ đi xuống miễn phí. Trả xu thắp sáng hàng để đi tới , rồi xuống và miễn phí. Trả thêm xu thắp sáng hàng để đi tới . |
| 5 5 4 1 1 2 1 3 1 3 2 |
-1 | Mọi ô sáng sẵn đều nằm ở hàng và cột . Muốn đứng ở thì phải thắp sáng hàng hoặc cột , nhưng để làm vậy Okabe cần đứng ở một ô sáng sẵn thuộc hàng hoặc (hoặc cột hoặc ) mà không có ô nào như thế. |
| 2 2 4 1 1 1 2 2 1 2 2 |
0 | Cả bốn ô đều sáng sẵn nên đi thẳng tới mà không tốn xu nào. |
| 5 5 4 1 1 2 2 3 3 4 4 |
3 | Ví dụ này cho thấy một xu có thể vượt hai hàng: đứng ở trả xu thắp sáng cột , đi xuống ô sáng sẵn. Tương tự xu nữa để tới , rồi xu cuối thắp sáng hàng để đi tới . |
Bình luận