Sunteți pe pagina 1din 2

Ministerul Educaiei Naionale Olimpiada Naional de Informatic Timioara, 30 martie - 5 aprilie 2013 Sursa : romb.c, romb.cpp, romb.

pas

Proba 1

Clasa a X-a

Problema 2 romb

100 puncte

Noul mprat INFO al rii ONI2013 a decis s mpart ara n regiuni codificate dup un algoritm stabilit prin decret. ara are form de romb, avnd centrul n punctul de coordonate (0,0) i lungimile semi-diagonalelor dx i dy (ca n figura 1). mpratul alege un numr k, reprezentnd numrul de etape de parcurs, astfel: n prima etap, rombul iniial este mprit n patru regiuni egale, n form de romb, fiecare latur fiind jumtate din latura rombului iniial; n fiecare din celelalte k 1 etape, orice romb rezultat la etapa precedent este mprit n alte patru romburi egale, aa cum este descris n prima etap. Astfel, dup k etape vom avea n total 4k regiuni egale, n form de romb. Codificarea regiunilor este fcut astfel: n prima etap, rombul iniial 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 obinute dup divizarea curent vor avea acum codurile 4*X3,4*X2,4*X1,4*X (figura 3). Cerin mpratul dorete s tie dup cele k etape, care este codul regiunii unde se afl un ora dat prin coordonatele (Cx, Cy). Date de intrare Pe prima linie a fiierului romb.in se afl numrul T de ntrebri (seturi de date de test). Pe fiecare din urmtoarele T linii se afl cte un set de date de test cu valorile dx,dy,k,Cx,Cy, cu semnificaia anterioar, separate prin cte un spaiu.

Figura 1

Figura 2

Figura 3 Date de ieire Fiierul romb.out va conine T linii, pe fiecare linie i fiind rspunsul la ntrebarea i, un numr natural reprezentnd codul regiunii n care se afl oraul de coordonate date (pentru testul i). Restricii i precizri: -20000<dx,dy,Cx,Cy<20000; 0<k<20; 0<T<10; dx i dy sunt numere naturale iar Cx i Cy sunt numere ntregi; Se garanteaz c punctul de coordonate (Cx,Cy)nu se afl la distan mai mic de 10-7 fa de latura unui romb obinut n ultima etap. Exemplu romb.in romb.out Explicaie 2 15 Numarul de teste este T=2. 10 8 2 6 -2 10 Oraul de coordonate (6,-2), se afl n regiunea codificat cu 15 12 16 3 -2 4 Oraul de coordonate (-2, 4), se afl n regiunea codificat cu 10

Ministerul Educaiei Naionale Olimpiada Naional de Informatic Timioara, 30 martie - 5 aprilie 2013 Sursa : romb.c, romb.cpp, romb.pas

Proba 1

Clasa a X-a

Timp maxim de execuie: 0.1 secunde/test. Total memorie disponibil: 32 MB din care 16 MB pentru stiv. Dimensiunea maxim a sursei: 5 KB.

S-ar putea să vă placă și