QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 1024 MB Total points: 100 Hackable ✓

#18933. Утреннее лекарство

Statistics
problem_18933_a3d09dfd60c8e69e0c4e0ae286b322fb.png

Субин получила рецепт в больнице и купила в аптеке запас лекарств на $N$ дней. Дневная норма лекарств состоит из одного пакетика утреннего лекарства, одного дневного и одного вечернего, а всего $3N$ пакетиков с лекарствами соединены в ряд в следующем порядке:

утреннее лекарство, дневное лекарство, вечернее лекарство, утреннее лекарство, дневное лекарство, вечернее лекарство, $\cdots$

Обычный человек просто ел бы три раза в день и по очереди отрезал и принимал пакетики с лекарствами с самого начала. Однако распорядок дня Субин необычен. В какие-то дни она только ужинает, а в какие-то пропускает завтрак. Поэтому Субин хочет принимать лекарства не по порядку с начала, а в соответствии с порядком своих приёмов пищи. Разумеется, Субин собирается принять все лекарства, не оставив ни одного пакетика.

При этом Субин очень не нравится, когда соединённые пакетики с лекарствами разделяются на две части. Поэтому каждый раз, когда Субин принимает лекарство, она отрезает один пакетик только с самого начала или с самого конца оставшейся ленты пакетиков. Отрезать пакетик из середины так, чтобы оставшиеся пакетики разделились на две части, не разрешается.

По заданному порядку, в котором Субин хочет принимать лекарства, определите, можно ли принять все лекарства в этом порядке с соблюдением указанного выше условия.

Входные данные

В первой строке дано целое число $N$, обозначающее, на сколько дней куплено лекарств. ($1 \le N \le 1\,000\,000$)

Во второй строке дана строка $S$ длины $3N$, задающая порядок, в котором Субин хочет принимать лекарства. Строка $S$ состоит только из символов B, L, D, причём каждый из трёх символов встречается ровно $N$ раз.

Символ B означает утреннее лекарство, L — дневное лекарство, а D — вечернее лекарство.

Выходные данные

Если можно принять все лекарства в порядке строки $S$, соблюдая условие, выведите Yes, в противном случае выведите No.

Примеры

Входные данные 1

1
LBD

Выходные данные 1

No

Входные данные 2

2
BLDDBL

Выходные данные 2

Yes

Примечание

В первом примере изначально оставшиеся пакетики с лекарствами идут с начала в порядке: утреннее лекарство, дневное лекарство, вечернее лекарство. Первым нужно принять дневное лекарство, но оно находится ни в самом начале, ни в самом конце, поэтому принять его с соблюдением условия невозможно.

Во втором примере, если отрезать и принимать пакетики с лекарствами в порядке: с начала, с начала, с начала, с конца, с начала, с начала, то можно принять все лекарства в заданном порядке.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.