Figura 1 din enunțul original al problemei romb.Mărește schema ↗
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 şi lungimile semi-diagonalelor şi (ca în figura ).
Împăratul alege un număr , 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 etape, orice romb rezultat la etapa precedentă este împărţit în alte patru romburi egale, aşa cum este descris în prima etapă.
Figura 2 din enunțul original al problemei romb.Mărește schema ↗
Astfel, după etape vom avea în total 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 și (ca în figura );
- în fiecare din celelalte etape, se reface codificarea, astfel: dacă rombul anterior avea la etapa precedentă codul , cele patru romburi obţinute după divizarea curentă vor avea acum codurile (figura ).
Cerinţă
Figura 3 din enunțul original al problemei romb.Mărește schema ↗
Împăratul doreşte să ştie după cele etape, care este codul regiunii unde se află un oraş dat prin coordonatele (, ).
Date de intrare
Pe prima linie a fişierului romb.in se află numărul de întrebări (seturi de date de test). Pe fiecare din următoarele linii se află câte un set de date de test cu valorile , cu semnificaţia anterioară, separate prin câte un spațiu.
Date de ieşire
Fişierul romb.out va conţine linii, pe fiecare linie fiind răspunsul la întrebarea , un număr natural reprezentând codul regiunii în care se află oraşul de coordonate date (pentru testul ).
Restricţii şi precizări
- și sunt numere naturale iar și sunt numere întregi
- Se garantează că punctul de coordonate nu se află la distanţă mai mică de faţă de latura unui romb obținut în ultima etapă.
Exemplu
romb.in
2
10 8 2 6 -2
12 16 3 -2 4
romb.out
15
10
Explicație
Numarul de teste este .
Orașul de coordonate , se află în regiunea codificată cu
Orașul de coordonate , se află în regiunea codificată cu
Sursă și autori
ONI 2013, clasele 10. Gheorghe Manolache.
Enunț din Kilonova, sub licența CC-BY-NC-SA-4.0, conform politicii sursei. Adaptări de prezentare și tipografie. Exemplele, formulele și figurile originale sunt păstrate.
Trimite o soluție
Setul original de teste și regulile de punctare sunt în curs de verificare. Trimiterea pentru evaluare va fi disponibilă după această verificare.
Se verifică autentificarea…