Nu aveti permisiuni pentru a descarca fisierul grader_test5.in
Diferente pentru problema/romb intre reviziile #3 si #16
Nu exista diferente intre titluri.
Diferente intre continut:
== include(page="template/taskheader" task_id="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).
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 $4^k^$ 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$}). !problema/romb?poza.jpg!
h2. Cerinţă
Împăratul doreşte să ştie după cele $k$ etape, care este codul regiunii unde se află un oraş dat prin coordonatele $(Cx, Cy)$.
h2. Date de intrare
Fişierul de intrare $romb.in$ ...
Fişierul de intrare $romb.in$ se află numărul $T$ de întrebări (seturi de date de test). Pe fiecare din următoarele $T$ linii se află câte un set de date de test cu valorile $dx,dy,k,Cx,Cy$, cu semnificaţia anterioară, separate prin câte un spaţiu.
h2. Date de ieşire
În fişierul de ieşire $romb.out$ ...
În fişierul de ieşire $romb.out$ va conţine $T$ linii, pe fiecare linie $i$ fiind răspunsul la întrebarea $i$, un număr natural reprezentând codul regiunii în care se află oraşul de coordonate date (pentru testul $i$).
h2. Restricţii
* $... ≤ ... ≤ ...$
* $-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 obţinut în ultima etapă.
h2. Exemplu table(example). |_. romb.in |_. romb.out |
| This is some text written on multiple lines. | This is another text written on multiple lines.
| 2 10 8 2 6 -2 12 16 3 -2 4 | 15 10
| h3. Explicaţie
...
Numarul de teste este $T=2$. Oraşul de coordonate $(6,-2)$, se află în regiunea codificată cu $15$ Oraşul de coordonate $(-2,4)$, se află în regiunea codificată cu $10$
== include(page="template/taskfooter" task_id="romb") ==
Nu exista diferente intre securitate.
Diferente intre topic forum:
1398