Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | romb.in, romb.out | Sursă | ONI 2013, clasa a 10-a |
Autor | Gheorghe Manolache | Adăugată de | |
Timp execuţie pe test | 0.05 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Romb
Noul împărat INFO al ţării ONI2013 a decis să împartă ţara în regiuni codificate după un algoritm stabilit prin decret. Ţara are formă de romb, având centrul în punctul de coordonate (0,0) şi lungimile semi-diagonalelor dx şi dy (ca în figura 1).
Împăratul alege un număr k, reprezentând numărul de etape de parcurs, astfel:
* în prima etapă, rombul iniţial este împărţit în patru regiuni egale, în formă de romb, fiecare latură fiind jumătate din latura rombului iniţial;
* în fiecare din celelalte k – 1 etape, orice romb rezultat la etapa precedentă este împărţit în alte patru romburi egale, aşa cum este descris în prima etapă.
Astfel, după k etape vom avea în total 4k regiuni egale, în formă de romb. Codificarea regiunilor este făcută astfel:
* în prima etapă, rombul iniţial se împarte în patru regiuni, codificate în sens trigonometric cu valorile 1, 2, 3 şi 4 (ca în figura 2);
* în fiecare din celelalte etape, se reface codificarea, astfel: dacă rombul anterior avea la etapa precedentă codul X, cele patru romburi obţinute după divizarea curentă vor avea acum codurile 4*X–3,4*X–2,4*X–1,4*X (figura 3).
Cerinţă
Date de intrare
Fişierul de intrare romb.in ...
Date de ieşire
În fişierul de ieşire romb.out ...
Restricţii
- ... ≤ ... ≤ ...
Exemplu
romb.in | romb.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...