Avem la dispoziţie cartonaşe dreptunghiulare pe care sunt inscripţionate numere naturale şi o valoare dată . Pornind de la un număr de astfel de cartonaşe, aşezate alăturat şi considerate a forma nivelul de bază (notat cu ), se formează următoarele 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 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 sume care se reprezintă fiecare în baza .
Exemplu:
Cerinţă
- Să se afişeze numărul inscripţionat pe cartonaşul de pe ultimul nivel.
- Să se precizeze numărul nivelului pe care se află valoarea dată
- Să se afişeze numerele nivelelor în ordinea descrescătoare a numărului de cifre egale cu din reprezentarea în baza a sumei fiecărui nivel. Dacă există două nivele cu sumă având acelaşi număr de cifre egale cu , se va afişa mai întâi nivelul cu numărul mai mic.
Date de intrare
În fişierul cartonas.in
se află:
- pe prima linie un număr natural care reprezintă numărul de cartonaşe ce formează nivelul (nivelul de bază)
- pe a doua linie un număr natural care reprezintă valoarea căutată
- pe a treia linie se află cele numere de pe nivelul (de bază), separate două câte două printr-un spaţiu
Date de ieşire
În fişierul 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ă
- 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 şi precizări
- este număr natural de maxim cifre
- Valorile de pe cartonaşe sunt numere naturale de maxim 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 cifre, iar sumele de pe fiecare nivel au maxim cifre.
- Se acordă punctaje parţiale: din punctaj pentru cerinţa , din punctaj pentru cerinţa şi din punctaj pentru cerinţa
Exemplu
cartonas.in
4
8
1 2 3 2
cartonas.out
18
3
2 3 4 1
Explicaţie
Pe ultimul nivel se va găsi valoarea , iar valoarea se găseşte pe nivelul al treilea, conform desenului şi cerinţelor.
Pe primul nivel , adică are cifră egală cu
Pe cel de-al doilea nivel , adică are cifre egale cu
Pe cel de-al treilea nivel , adică are cifre egale cu
Pe cel de-al patrulea nivel , adică are cifre egale cu