Robot trên lưới
Đề bài
Mô tả
Một robot di chuyển trên lưới nguyên vô hạn, chỉ đi dọc theo các đường lưới.
Người ta đưa cho robot một dãy điểm nguyên . Gọi là vị trí xuất phát của robot. Robot lần lượt đi từ đến , rồi từ đến , ..., cho đến . Ở mỗi chặng, robot chọn một đường đi ngắn nhất bất kỳ giữa hai điểm liên tiếp (vì chỉ đi theo đường lưới nên có thể có nhiều đường đi ngắn nhất cùng độ dài). Các điểm trong dãy có thể trùng nhau, khi đó robot ghé qua điểm đó đúng số lần nó xuất hiện.
Dãy điểm nay đã bị mất, nhưng robot còn lưu lại nhật ký các bước đi đơn vị của mình: một xâu gồm ký tự trong , ký tự thứ cho biết hướng của bước đi đơn vị thứ (L: sang trái, R: sang phải, U: lên trên, D: xuống dưới).
Hãy tìm độ dài nhỏ nhất có thể của dãy điểm.
Dữ liệu vào
- Dòng đầu chứa số nguyên dương là số bước đi đơn vị mà robot đã thực hiện.
- Dòng thứ hai chứa nhật ký di chuyển: xâu gồm ký tự, mỗi ký tự thuộc .
Dữ liệu ra
Một số nguyên duy nhất: độ dài nhỏ nhất có thể của dãy điểm.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 RURD |
2 | Ba bước RUR là một đường đi ngắn nhất tới điểm ; bước D còn lại tạo thành chặng thứ hai. Không thể gộp cả bốn bước vào một chặng vì chúng chứa cả U lẫn D. |
| 6 RRULDD |
2 | RRU là một đường đi ngắn nhất, LDD là đường đi ngắn nhất của chặng sau. |
| 4 LRLR |
4 | Hai bước liên tiếp bất kỳ đều gồm một cặp hướng ngược nhau, nên mỗi bước phải là một chặng riêng. Mỗi điểm được đếm đúng số lần xuất hiện trong dãy. |
Bình luận