- Pradinių duomenų failas:
- svarstykles.in
- Rezultatų failas:
- svarstykles.out
- Laiko apribojimas:
- 2 s.
- Atminties apribojimas:
- 32 Mb.
Užduotis
Duotos svirtinės svarstyklės, svarsčių rinkinys bei daiktas. Svarsčių svoriai lygūs 1, 3, 9, 27, 81 … t. y. kiekvieno svarsčio svoris lygus 3 laipsniui ir kiekvienam sveikajam skaičiui k >= 0 yra lygiai vienas svarstis, sveriantis \(3^{k}\). Daikto svoris lygus m, čia m – teigiamas sveikasis skaičius. Daiktas padedamas ant kairiosios svarstyklių lėkštės ir reikia taip sudėlioti svarsčius ant vienos ar abiejų lėkščių, kad svarstyklės būtų pusiausvyroje.
Parašykite programą, kuri, nustatytų, kurie svarsčiai turi būti padėti ant kairiosios ir kurie ant dešiniosios svarstyklių lėkštės.
Pradiniai duomenys
Pirmoje pradinių duomenų bylos eilutėje įrašytas vienas sveikasis skaičius m (1 <= m<= \(10^{100}\)).
Rezultatai
Rezultatų bylą turi sudaryti dvi eilutės.
Pirmoje eilutėje turi būti įrašyta informacija apie kairėje svarstyklių lėkštelėje padėtus svarsčius. Pirmasis eilutės skaičius turi būti lygus ant kairiosios svarstyklių lėkštelės padėtą svarsčių skaičiui (neneigiamas sveikasis skaičius). Toliau eilutėje didėjimo tvarka turi būti įrašyti svarsčių svoriai. Skaičiai atskiriami vienu tarpu.
Antroje eilutėje analogišku formatu turi būti įrašyta informacija apie dešinėje svarstyklių lėkštelėje padėtus svarsčius.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
42 |
3 3 9 27 1 81 |
30 |
0 2 3 27 |