| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1 초 | 1024 MB | 1 | 1 | 1 | 100.000% |
Juku osaleb õpilassatelliidi projektis ja tema hoole alla on antud satelliidi juhtimine maa pealt saadetud sõnumitega. Sõnumid koosnevad sõnumi alguse ja lõpu märgist (vastavalt '{' ja '}') ja tühikutega eraldatud täisarvudest. Juku muretseb aeglase andmeside pärast ja otsustab, et sõnumitele tuleb anda lühem kuju.
Ta teab, et tekstikujul olevaid numbreid esitatakse ühe baidi ehk 8 bitiga. Aga kui esitada üks number kuueteistkümnendsüsteemis, siis võtab see ruumi ainult 4 bitti. Lisaks on 16-numbrite hulgas veel väärtuseid, mida saab sõnumi pakkimiseks ära kasutada. (Meeldetuletuseks: 16-süsteemis kasutatakse numbritena 0$\ldots$9 ja A$\ldots$F, kus 0$\ldots$9 väärtused on 0ドル \ldots 9$ ja A$\ldots$F väärtused 10ドル \ldots 15$. Kahekohalise 16-arvu $XY$ väärtus on 16ドル \cdot X + Y$.)
Ta otsustab pakkida sõnumeid järgmiste reeglite järgi:
E ja lõpu tähiseks 16-number F.B ja selle järele nullide jada pikkus 16-arvuna 3$\ldots$F. Kui nullide jada pikkus on suurem kui 15, siis kirjutatakse numbri B järele number 0 ja selle järele jada pikkus 16-arvuna 10$\ldots$FF.A. Kui arvu $N$ pikkus on kuni 15, kirjutatakse see A järele 16-arvuna 1$\ldots$F. Kui arvu $N$ pikkus on suurem kui 15, siis kirjutatakse numbri A järele number 0 ja selle järele $N$ pikkus 16-arvuna 10$\ldots$FF. Mõlemal juhul kirjutatakse pikkuse järele arv $N$ ise. Kui arv $N$ sisaldab järjest rohkem kui kaks nulli, siis tuleb need enne pakkida eelmises punktis kirjeldatud reegli järgi ja arvu $N$ pikkuseks ei arvestata mitte algse arvu, vaid pakkimise tulemuse pikkust.F järele) lisada D.Koosta Jukule sõnumite pakkimiseks programm, mis loeb sisendfailist saadetava sõnumi ja kirjutab väljundfaili selle pakkimise tulemuse tekstilisel kujul.
Tekstifailis on täpselt üks rida, millel on üks edastatav sõnum. Sõnumis on kuni 100 positiivset arvu, mis on kõik väiksemad kui 10ドル^{256}$.
Tekstifaili ainsale reale väljastada pakitud sõnum tekstilisel kujul nii, et iga 16-number on esitatud ühe märgina. Seda tuleb teha vastuse loetavuse huvides, sest kui nendest 16-arvudest panna kokku päris baidid, siis on tulemus inimesele raske lugeda.
{ 10 555 2000 79 }
EA210A3555A32B3A279F