Fișierul intrare/ieșire | cartonas.in, cartonas.out | Sursă | ONI 2009 clasa a 5-a |
---|---|---|---|
Autor | Roxana Tîmplaru | Adăugată de |
|
Timp de execuție pe test | 0.1 sec | Limită de memorie | 2048 KB |
Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Cartonaș (clasa a 5-a)
Notă: modul de punctare a fost modificat față de original, pentru a acorda punctaje parțiale.
Avem la dispoziție cartonașe dreptunghiulare pe care sunt inscripționate numere naturale și o valoare dată x. Pornind de la un număr N de astfel de cartonașe, așezate alăturat și considerate a forma nivelul de bază (notat cu 1), se formează următoarele _N_-1 niveluri după regulile de mai jos (a se vedea și figura din exemplu pentru clarificare):
- numărul de cartonașe de pe un nivel oarecare este cu 1 mai mic decât numărul de cartonașe de pe nivelul imediat inferior
- numărul înscris pe orice cartonaș se obține ca sumă a numerelor de pe cartonașele peste care “se așează”, cartonașe aflate pe nivelul imediat inferior.
Pe fiecare nivel se calculează suma numerelor de pe toate cartonașele. Se vor forma astfel N sume care se reprezintă fiecare în baza 2.
Exemplu:
Cerință
a) Să se afișeze numărul inscripționat pe cartonașul de pe ultimul nivel.
b) Să se precizeze numărul nivelului pe care se află valoarea dată x
c) Să se afișeze numerele nivelelor în ordinea descrescătoare a numărului de cifre egale cu 1 din reprezentarea în baza 2 a sumei fiecărui nivel. Dacă există două nivele cu sumă având același număr de cifre egale cu 1, se va afișa mai întâi nivelul cu numărul mai mic.
Date de intrare
În fișierul de intrare cartonas.in se află:
- pe prima linie un număr natural N care reprezintă numărul de cartonașe ce formează nivelul 1 (nivelul de bază)
- pe a doua linie un număr natural x care reprezintă valoarea căutată
- pe a treia linie se află cele N numere de pe nivelul 1 (de bază), separate două câte două printr-un spațiu
Date de ieșire
În fișierul de ieșire cartonas.out se va scrie:
- pe prima linie numărul inscripționat pe cartonașul de pe ultimul nivel
- pe linia a doua se va afișa nivelul pe care se află valoarea căutată x
- pe linia a treia se vor afișa numerele de nivel în ordinea cerută, separate două câte două printr-un spațiu
Restricții
- N este un număr natural mai mic sau egal cu 100
- x este număr natural de maxim 7 cifre
- Valorile de pe cartonașe sunt numere naturale de maxim 7 cifre
- Se știe că există suficiente cartonașe cu inscripția oricărui număr necesar, numerele de pe nivelul de bază nu conduc la numere pe celelalte nivele care să aibă mai mult de 7 cifre, iar sumele de pe fiecare nivel au maxim 9 cifre.
- Se acordă punctaje parțiale astfel: punctul a) 20%, punctul b) 20%, punctul c) 60%
Exemplu
cartonas.in | cartonas.out | Explicații |
---|---|---|
4 8 1 2 3 2 |
18 3 2 3 4 1 |
Pe ultimul nivel se va găsi valoarea 18, iar valoarea 8 se găsește pe nivelul al treilea, conform desenului și cerințelor. Pe primul nivel S=1+2+3+2=8=1000 (în baza 2), adică are o cifră 1 Pe al doilea nivel S=3+5+5=13=1101 (în baza 2), adică are 3 cifre 1 Pe al treilea nivel S=8+10=10010 (în baza 2), adică 2 cifre 1 Pe al patrulea nivel S=18=10010 (în baza 2), adică 2 cifre 1 |