Robot của Vasya
Đề bài
Mô tả
Một con robot đứng trên mặt phẳng tọa độ vô hạn, ban đầu ở ô . Robot có thể thực hiện bốn loại thao tác:
- U: di chuyển từ tới ;
- D: di chuyển từ tới ;
- L: di chuyển từ tới ;
- R: di chuyển từ tới .
Bạn được cho một dãy gồm thao tác. Bạn muốn sửa dãy này sao cho sau khi thực hiện nó, robot dừng lại đúng tại ô .
Việc sửa chỉ được phép thay thế một thao tác bằng một thao tác khác (có thể trùng chính nó); không được thêm hoặc bớt thao tác. Gọi các chỉ số của những thao tác bị thay đổi là tập hợp các vị trí, độ dài của đoạn bị thay đổi được tính bằng , trong đó là chỉ số lớn nhất và là chỉ số nhỏ nhất trong số các thao tác bị thay đổi. Nếu không có thao tác nào bị thay đổi thì độ dài đoạn bị thay đổi bằng .
Hãy tìm độ dài nhỏ nhất của đoạn cần thay đổi để robot đi từ tới , hoặc cho biết điều đó là không thể.
Dữ liệu vào
- Dòng thứ nhất chứa số nguyên , số lượng thao tác.
- Dòng thứ hai chứa dãy thao tác: một xâu gồm ký tự, mỗi ký tự là một trong U, D, L, R.
- Dòng thứ ba chứa hai số nguyên , tọa độ ô mà robot phải kết thúc.
Dữ liệu ra
In ra một số nguyên: độ dài nhỏ nhất của đoạn có thể thay đổi để dãy thao tác đưa robot từ tới . Nếu không thể, in ra .
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 RURUU -2 3 |
3 | Có thể đổi dãy thành LULUU. Các thao tác bị đổi có chỉ số và , nên độ dài đoạn là . |
| 4 RULR 1 1 |
0 | Dãy đã cho đưa robot tới đúng , không cần đổi gì. |
| 3 UUU 100 100 |
-1 | Với thao tác không thể tới vì tổng khoảng cách cần đi vượt quá số thao tác. |
Bình luận