Fișierul intrare/ieșire babilon.in, babilon.out Sursă ONI 2014 clasa a 5-a
Autor Florentina Ungureanu Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.1 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip fullstea de rating de tip fullstea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

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 babiloniene Valoarea 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.in babilon.out Explicaț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 să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 3 categorii