Fişierul intrare/ieşire:babilon.in, babilon.outSursăONI 2014 clasa a 5-a
AutorFlorentina UngureanuAdăugată defrancuCristian Francu francu
Timp execuţie pe test0.1 secLimită de memorie2048 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise

Babilon (clasa a 5-a)

Babilonienii au dezvoltat un sistem poziţional de scriere a numerelor, în care orice număr natural se poate reprezenta utilizând semnele (unu), (zece) şi spaţii. Valorile k ∈ {2, 3, …, 9} se obţin scriind semnul de k ori (scrierea babiloniană a lui 3 este   ). Numerele 11, 12, …, 59 se obţin ca succesiuni de semne urmate de semne (43 se reprezintă ca        ).

Sistemul foloseşte gruparea unităţilor câte şaizeci. Astfel, pentru a scrie numărul şaizeci se foloseşte acelaşi semn ca pentru unu, dar valoarea sa este dată de poziţia în care se găseşte semnul . Babilonienii nu foloseau cifra 0. Pentru poziţionarea corectă a semnelor se utiliza spaţiu (60 se reprezintă ca  , 3600 se reprezintă ca   , etc).

Se codifică scrierea babiloniană a unui număr utilizând cifra 1 în locul semnului , cifra 2 în locul semnului şi cifra 3 în loc de spaţiu, ca în exemplele de mai jos:

Scrierea babilonianăCodificarea scrierii babilonieneValoarea zecimală a numărului
   
1311
1*60+2=62
 
12
1*60+10=70
      
1221111
1*60+20+4=84
     
123111
1*60*60+10*60+3=4203

Cerinţă

Dându-se un număr natural n şi un şir de n cifre ∈ {1, 2, 3}, reprezentând codificarea scrierii babiloniene a unui număr natural, să se determine:

a) numărul maxim de cifre 1 aflate pe poziţii consecutive în codificarea scrierii babiloniene date
b) numărul natural din sistemul zecimal corespunzător scrierii babiloniene date.

Date de intrare

Fişierul de intrare babilon.in va conţine:

  • pe prima linie un număr natural p ( 1 ≤ p ≤ 2 );
  • pe a doua linie un număr natural n;
  • pe a treia linie n cifre separate prin câte un spaţiu, reprezentând codificarea scrierii babiloniene a unui număr natural.

Date de ieşire

Dacă valoarea lui p este 1, atunci se va rezolva numai punctul a) din cerinţă. În acest caz, fişierul de ieşire babilon.out va conţine pe prima linie un număr natural reprezentând numărul maxim de cifre 1 aflate pe poziţii consecutive în codificarea scrierii babiloniene date.

Dacă valoarea lui p este 2, atunci se va rezolva numai punctul b) din cerinţă. În acest caz, fişierul de ieşire babilon.out va conţine pe prima linie numărul natural corespunzător scrierii babiloniene date.

Restricţii

  • 2 ≤ n ≤ 109
  • se garantează faptul că numărul de cifre al rezultatului de la punctul b) (numărul zecimal) este mai mic decât 20
  • 30% din teste vor avea pe prima linie valoarea 1, iar restul de 70% din teste vor avea pe prima linie valoarea 2.

Exemplu

babilon.inbabilon.outExplicaţii
1
8
1 1 3 2 1 1 1 2
3
1 1 3 2 1 1 1 2
Cea mai lungă secvenţă de cifre 1 are lungimea 3.
2
7
1 1 3 2 1 1 1
7213
      
  2      10 + 3
2 se înmulţeşte de două ori cu 60 (o dată pentru că este
urmat de spaţiu şi încă o dată pentru că precede o grupă care
începe cu semnul ), apoi se adună valoarea 13
2*60*60+10+3=7213
2
9
1 1 1 2 1 1 2 2 1
11541
        
   3      12      21
3 se înmulţeşte cu 60 de două ori pentru că este precedat de
două grupe care încep cu semnul , apoi se adună 12 înmulţit cu 60
şi la final se adună 21.
3*60*60+12*60+21=11541
Trebuie sa te autentifici pentru a trimite solutii. Click aici