QOJ.ac

QOJ

Süre Sınırı: 2 s Bellek Sınırı: 256 MB Toplam puan: 100

#23865. Cirkel-kryss-stämplar

İstatistikler

Problembeskrivning

JOI har $0$ eller fler av var och en av $3$ sorters stämplar: cirkelstämplar, krysstämplar och cirkel-kryss-stämplar. Dessa stämplar kan trycka cirkel- och kryssmärken på papper.

Att använda en cirkelstämpel trycker $1$ cirkel, och att använda en krysstämpel trycker $1$ kryss. Att använda en cirkel-kryss-stämpel trycker $1$ cirkel och $1$ kryss bredvid varandra i en horisontell rad, och genom att vända på stämpeln kan man trycka så att krysset hamnar till höger om cirkeln eller så att cirkeln hamnar till höger om krysset.

JOI använde var och en av sina stämplar exakt $1$ gång i lämplig ordning och tryckte en horisontell rad med cirklar och kryss på ett papper. Raden av tryckta cirklar och kryss representeras av en sträng $S$. $S$ är en sträng med längden $N$ som består av O och X; om $S_i = $ O betyder det att det $i$-te märket från vänster som JOI tryckte är en cirkel, och om $S_i =$ X betyder det att det är ett kryss ($1 \le i \le N$).

Du vet inte hur många stämplar JOI har, men du känner till raden av cirklar och kryss som han har tryckt. Utgående från raden av tryckta cirklar och kryss, bestäm det största möjliga antalet cirkel-kryss-stämplar som JOI kan ha.

Begränsningar

  • $1 \le N \le 100000 (= 10^5)$
  • $S$ är en sträng med längden $N$.
  • Varje tecken i $S$ är O eller X.

Indata / Utdata

Indata
Indatan ges från standardindata i följande format:
$N$
$S$

Utdata
Skriv ut det största möjliga antalet cirkel-kryss-stämplar som JOI kan ha.

Exempel på indata / utdata

Exempelindata 1

5
OXXOX

Exempelutdata 1

2

Märkena som JOI tryckte är i ordning från vänster: cirkel, kryss, kryss, cirkel, kryss. Om JOI har $0, 1, 2$ cirkelstämplar, krysstämplar respektive cirkel-kryss-stämplar kan han trycka märkena så här genom att använda stämplarna i följande ordning:

  • Använd den $1$:a cirkel-kryss-stämpeln för att trycka en cirkel och ett kryss i den ordningen.
  • Till höger om detta, använd den $2$:a cirkel-kryss-stämpeln för att trycka ett kryss och en cirkel i den ordningen.
  • Slutligen, till höger om detta, använd krysstämpeln för att trycka ett kryss.

Eftersom det är omöjligt att han har $3$ eller fler cirkel-kryss-stämplar skrivs $2$ ut.


Exempelindata 2

14
OXOXOXOXXOXOXO

Exempelutdata 2

7

Exempelindata 3

10
OOOOOOOOOO

Exempelutdata 3

0

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.