Xóa xâu

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C++, Clang, Cobol, D, Groovy, Haskell, JS, Lua, Node JS, ObjectiveC, Output, Prolog, Python, Scala, Scratch
Điểm: 800 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Cho một xâu \(s\) có độ dài \(n\) (\(n\) chẵn) chỉ bao gồm các chữ cái Latin viết hoa A, B và C. Mỗi lượt bạn có thể thực hiện một trong hai hành động sau:

  • Bạn có thể xóa chính xác một chữ cái A và chính xác một chữ cái B khỏi các vị trí tùy ý của chuỗi (các chữ cái này không nhất thiết phải liền kề nhau);
  • Hoặc bạn có thể xóa chính xác một chữ cái B và chính xác một chữ cái C khỏi các vị trí tùy ý của chuỗi (các chữ cái này không nhất thiết phải liền kề nhau).

Do đó, độ dài của xâu giảm đi đúng một lượng là 2 chữ cái. Tất cả các lượt đều độc lập nên đối với mỗi lượt, bạn có thể chọn bất kỳ hành động nào trong hai hành động có thể.

Ví dụ, với \(s\) = ABCABC anh ta có thể nhận được một xâu \(s\) = ACBC trong một lượt (bằng cách xóa lần xuất hiện đầu tiên của B và lần xuất hiện thứ hai của A). Ngoài ra còn có nhiều tùy chọn khác để thực hiện ngoài ví dụ cụ thể này.

Với xâu kí tự \(s\) đã cho bạn có thể xác định rằng liệu có cách thực hiện các thao tác trên để biến xâu \(s\) thành rỗng hay không. Nếu có thì in ra YES còn không có thì in ra NO.

Input

  • Dòng đầu tiên chứa 2 số nguyên dương \(n\) (\(1 \leq n \leq 10^5\)) - thể hiện chiều dài của xâu.
  • Dòng thứ 2 chứa xâu \(s\).

Output

  • Một dòng duy nhất là YES hoặc NO tương ứng là có hoặc không có cách thực hiện các thao tác đã cho để biến xâu \(s\) thành rỗng.

Example

Test 1

Input
6
ABACAB
Output
NO

Test 2

Input
16
BCBCBCBCBCBCBCBC
Output
YES

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.