V miestnom útulku funguje adopcia psíkov1 trochu zvláštne. Ľudia aj psíkovia sa postavia do radu. Vždy keď susedí človek s nejakým psíkom, tak sa môže rozhodnúť, že si ho adoptuje. Toto sa opakuje, pokiaľ sa to dá. Majiteľa útulku by ale zaujímalo, koľko najmenej smutných psíkov a ľudí vie ostať na konci dňa. Viete mu s tým pomôcť?
Na vstupe dostanete postupnosť znakov P a
C. Vždy, keď sa v postupnosti vedľa seba nachádza
P a C, tak ich môžeme vymazať. Toto opakujeme
pokiaľ to ide. Koľko najmenej znakov nám vie ostať na konci?
Na prvom riadku je celé číslo $N$
($1 \leq N \leq 10^6$). Na druhom
riadku je reťazec dĺžky $N$
pozostávajúci z písmen P a C.
| Sada | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| $1 \leq N \leq$ | $100$ | $10'000$ | $10^6$ | $10^6$ |
Vypíšte jeden riadok a v ňom jedno celé číslo, ktoré je minimálny počet znakov, ktoré vedia ostať na konci.
Input:
2
PC
Output:
0
Prvý človek si adoptuje prvého psa.
Input:
4
CCPP
Output:
0
Najprv si adoptuje vnútorný človek vnútorného psa a následne vonkajší človek bude susediť s vonkajším psom, čiže si ho môže adoptovať.
Input:
3
PCP
Output:
1
Jednému človeku sa bohužiaľ neujde žiaden psík na adoptovanie.
V prípade záujmu o adopciu alebo podporu sa môžete obrátiť na Slobodu zvierat alebo na Váš miestny útulok. ↩
Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania
Intenzívny programátorský zážitok v lete