Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2023-04-13 21:51:39.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:bt.in, bt.outSursăONI 2023, Baraj Seniori, ziua 1
AutorVlad Adrian UlmeanuAdăugată delivliviLivia Magureanu livlivi
Timp execuţie pe test1.1 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Bt

John şi-a investit toate economiile în criptomonede. Acum încearcă să mai recupereze din bani, trecând pe dieta campionilor (brânză topită).

El are o cutie circulară cu N bucăţi de brânză (de mai multe tipuri), iar în fiecare zi ia câte una din cutie. Acesta are grijă ca înainte şi după ce ia o bucată din cutie, oricare două bucăţi adiacente rămase să fie de alt tip.
John s-a apucat să numere în câte moduri poate să termine cutia.

Formal, se dă un vector circular v1, v2, . . . , vN . Vrem să scoatem din el câte un element până rămâne gol vectorul. În urma fiecărei scoateri, inclusiv înaintea primei scoateri, nu trebuie să existe 2 poziţii consecutive în vector cu aceeaşi valoare în ele.
ˆIn exemplul din dreapta, buc ̆at, ile de brˆanz ̆a de pe pozit, iile A s, i B au fost deja luate. Singurele buca ̆t, i pe care le-am putea scoate acum ar fi E sau G. Dac ̆a am scoate bucata C, atunci buc ̆at, ile D si H, ambele de tipul 2, ar deveni vecine. Daca ̆ l-am scoate pe D, C s, i E ar deveni vecine, des, i sunt ambele de tipul 1, etc.

Date de intrare

Fişierul de intrare bt.in ...

Date de ieşire

În fişierul de ieşire bt.out ...

Restricţii

  • ... ≤ ... ≤ ...

Exemplu

bt.inbt.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?