Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập vonglenh

Vòng lệnh

Dễ Tham lamCài đặt

  • 100 Điểm
  • 1.0s Thời gian
  • 256M Bộ nhớ
  • 0% Tỉ lệ AC
  • 0 Số AC

Trong trò chơi Zentric, một nhân vật đứng trên lưới ô vuông vô hạn và mỗi bước di chuyển sang một ô kề cạnh. Chuỗi lệnh \(S\) gồm các ký tự L (sang trái), R (sang phải), U (lên trên), D (xuống dưới).

Để qua màn, bạn phải tạo ra một lộ trình khép kín từ chuỗi lệnh \(S\) bằng cách: xóa đi một số ký tự tùy ý (có thể không xóa) và sắp xếp lại các ký tự còn lại theo thứ tự tùy ý. Lộ trình thu được (dài ít nhất \(1\) lệnh) phải thỏa mãn: nhân vật xuất phát từ một ô, đi theo các lệnh, không bước vào cùng một ô hai lần, và sau lệnh cuối cùng phải quay về đúng ô xuất phát. Việc quay về ô xuất phát ở cuối lộ trình không bị tính là "bước vào một ô lần thứ hai", nhưng ngoài ra mọi ô đã đi qua (kể cả ô xuất phát) không được bước vào lại. Ví dụ LR là lộ trình hợp lệ (đi sang trái rồi quay lại), còn LLRR thì không hợp lệ vì đi qua ô bên trái hai lần.

Hãy tìm độ dài lớn nhất của một lộ trình hợp lệ có thể tạo ra. Nếu không thể tạo lộ trình nào, in ra \(-1\).

Input

Một dòng duy nhất chứa chuỗi \(S\) chỉ gồm các ký tự L, R, U, D.

Output

In ra một số nguyên là độ dài lớn nhất, hoặc \(-1\) nếu không thể.

Constraints

  • \(1 \le |S| \le 10^6\)

Sample Input 1

RRULLDDUR

Sample Output 1

8

Sample Input 2

LLRRRR

Sample Output 2

2

Sample Input 3

UUUR

Sample Output 3

-1

Explanation

  • Ví dụ 1: có \(3\) lệnh R, \(2\) lệnh L, \(2\) lệnh U, \(2\) lệnh D. Có thể đi theo hình chữ nhật RRUULLDD (độ dài \(8\)), không thể dài hơn.
  • Ví dụ 2: chỉ có thể đi ngang; LR là lộ trình dài nhất không đi lại cùng một ô.
  • Ví dụ 3: không có cặp lệnh ngược hướng nào, nên không thể quay về ô xuất phát.

Bình luận

Chưa có bình luận nào.