Mofk Cup Round 1 - ROBOT

Xem dạng PDF

Gửi bài giải


Điểm: 0,30 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Mofk đang rất rảnh rỗi nên quyết định nghịch Robot. Nhà của Mofk được xem là một mặt phẳng ~Oxy~ và con Robot của Mofk ban đầu đang đứng ở điểm ~(0, 0)~.

Mofk có một xâu ký tự ~S~ độ dài ~n~ gồm các kí tự ~L, R, U, D~ là dòng lệnh được truyền vào Robot khiến Robot thực hiện các thao tác lần lượt từ trái qua phải. Cụ thể, nếu tới thao tác thứ ~i~ và vị trí hiện tại của Robot là ~(x,y)~:

  • ~S_i = L~: Robot sẽ di chuyển sang trái, đến điểm ~(x - 1, y)~

  • ~S_i = R~: Robot sẽ di chuyển sang phải, đến điểm ~(x + 1, y)~

  • ~S_i = U~: Robot sẽ di chuyển lên trên, đến điểm ~(x, y + 1)~

  • ~S_i = D~: Robot sẽ di chuyển xuống dưới, đến điểm ~(x, y - 1)~

Ban đầu, tất cả các điểm trên mặt phẳng đều được tô màu trắng. Mỗi lần Robot đứng ở bất kì điểm nào thì nó sẽ bị vấy bẩn thành màu đen (kể cả điểm ~(0, 0)~ ban đầu).

Vì thấy chưa đủ thỏa mãn, Mofk quyết định thêm một thao tác bất kì vào xâu ~S~ sao cho Robot có thể vấy bẩn nhiều điểm nhất. Hãy giúp Mofk thỏa mãn thú tính của mình.

Input

  • Dòng đầu tiên chứa 1 số nguyên dương ~n~, độ dài của xâu ~S~ ~(1\le n \le 2 \times 10^5)~

  • Dòng thứ hai chứa xâu ~S~ gồm ~n~ kí tự ~L,R,U,D~.

Output

  • Một số nguyên duy nhất là số điểm nhiều nhất bị vấy bẩn.

Scoring

  • ~50\%~ số test có ~n \le 1000~.

  • ~50\%~ số test còn lại không có điều kiện gì thêm.

Sample Input 1

3
LRL

Sample Output 1

4

Notes

Mofk có thể lựa chọn thêm kí tự ~U~ vào sau kí tự thứ nhất, khi đó xâu ~S~ trở thành ~LURL~

Xuất phát từ ô ~(0, 0)~, Mofk sẽ đi qua các ô ~(-1, 0)~, ~(-1, 1)~, ~(0, 1)~, ~(-1, 1)~. Tổng cộng có ~4~ điểm phân biệt trên bị Mofk vấy bẩn là ~(0, 0)~, ~(-1, 0)~, ~(-1, 1)~, ~(0, 1)~.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.