QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 1024 MB 満点: 100 ハック可能 ✓

#18933. 晨藥

統計
problem_18933_a3d09dfd60c8e69e0c4e0ae286b322fb.png

Subin 在醫院拿了處方,並在藥局購買了 $N$ 天份的藥。一天份的藥由晨藥、午藥、晚藥各一包組成,總共 $3N$ 個藥袋按以下順序連成一排:

晨藥、午藥、晚藥、晨藥、午藥、晚藥、$\cdots$

如果是普通人,只要每天按時吃三餐,從前往後依序剪下藥袋服用即可。但 Subin 的生活作息並不尋常。有時一天只吃晚餐,有時又會跳過早餐。因此,Subin 不打算從前往後按順序吃藥,而是想按照自己用餐的順序來吃藥。當然,Subin 打算把藥全部吃完,一包也不剩。

然而,Subin 非常討厭看到連在一起的藥袋被分成兩截。因此,每次吃藥時,Subin 只會從目前剩餘藥袋的最前面或最後面剪下一包藥來吃。剪下中間的藥袋從而導致剩餘藥袋分成兩截是不被允許的。

給定 Subin 想要吃藥的順序,請判斷是否能夠在遵守上述條件的前提下,按該順序吃完所有的藥。

輸入格式

第一行包含一個整數 $N$,表示購買的藥的天數。($1 \le N \le 1\,000\,000$)

第二行包含一個長度為 $3N$ 的字串 $S$,表示 Subin 想要吃藥的順序。字串 $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.