Diferente pentru problema/snooker intre reviziile #22 si #29

Nu exista diferente intre titluri.

Diferente intre continut:

* Manta se defineşte ca fiind marginea înălţată a mesei, mai exact conturul dreptunghiului cu colţurile în punctele $(-1, -1)$ şi $(N+1, M+1)$.
* Se garantează că pentru fiecare din teste există o soluţie pentru care bila albă loveşte manta de maxim $5$ ori.
* Se va accepta orice soluţie pentru care bila albă loveşte manta de maxim $10$ ori şi nu atinge nicio bilă roşie înainte să ajungă în punctul $B$.
* Se consideră că bila albă atinge o bilă roşie dacă distanţa de la centrul bilei roşii la traiectoria bilei albe este mai mică **strict** decât $2$ (de două ori raza $1$).
* Rezultatul se va verifica cu o precizie de $0.0001$.
* **Important!** Pentru afişarea răspunsului se recomandă utilizarea funcţiei $atan2$ din librăria $cmath$, pentru programatorii $C/C++$, sau a funcţiei $arctan2$, pentru programatorii $Pascal$. Ambele funcţii primesc parametrii $y$ şi $x$ şi returnează valoarea în radiani a unghiului facut de punctul $(x, y)$ cu originea $(0, 0)$. Având un punct $(X, Y)$ aflat pe traiectoria iniţială a bilei albe (dinainte de lovirea unei mante) şi punctul $(Xa, Ya)$, răspunsul pe care trebuie să îl afişaţi este $atan2(Y-Ya, X-Xa)$ sau $arctan2(Y-Ya, X-Xa)$. Mai multe detalii despre cele 2 functii gasiti pe 'C++ Reference':http://cplusplus.com/reference/clibrary/cmath/atan2/ şi pe 'FreePascal.org':http://www.freepascal.org/docs-html/rtl/math/arctan2.html
 
!problema/snooker?atan2.jpg 60%!
 
* **Important!** Pentru afişarea răspunsului se recomandă utilizarea funcţiei $atan2(y, x)$ din librăria $cmath$, pentru programatorii $C/C++$, sau a funcţiei $arctan2(y, x)$, pentru programatorii $Pascal$. Ambele funcţii primesc parametrii $y$ şi $x$ şi returnează valoarea în radiani a unghiului facut de punctul $(x, y)$ cu originea $(0, 0)$. Având un punct $(X, Y)$ aflat pe traiectoria iniţială a bilei albe (dinainte de lovirea unei mante) şi punctul $(Xa, Ya)$, răspunsul pe care trebuie să îl afişaţi este $atan2(Y-Ya, X-Xa)$ sau $arctan2(Y-Ya, X-Xa)$. Mai multe detalii despre cele 2 functii gasiti pe 'C++ Reference':http://cplusplus.com/reference/clibrary/cmath/atan2/ şi pe 'FreePascal.org':http://www.freepascal.org/docs-html/rtl/math/arctan2.html
 
h3. Praguri de punctaj
 
* Pentru $20%$ din teste, lovitura se poate efectua direct.
* Pentru alte $20%$ din teste, lovitura trebuie efectuată cu minim o mantă.
* Pentru alte $15%$ din teste, lovitura trebuie efectuată cu minim două mante.
* Pentru alte $15%$ din teste, lovitura trebuie efectuată cu minim trei mante.
* Pentru alte $15%$ din teste, lovitura trebuie efectuată cu minim patru mante.
* Pentru alte $15%$ din teste, lovitura trebuie efectuată cu minim cinci mante.
h2. Exemplu
h3. Explicaţie
Exist
Există $4$ răspunsuri corecte: $-2.480549, 2.480549, -2.176341, 2.176341$ (corespunzătoare unghiurilor $-142.09, 142.09, -124.68$ si respectiv $124.68$ de grade). Deoarece bila albă se află chiar lângă mantă, dacă lovim sub un unghi negativ (înspre mantă), bila alba va sări imediat şi va urma traiectoria dată de valoarea în modul a unghiului. Astfel, primele două răspunsuri corespund traiectoriei albastre, iar ultimele două corespund traiectoriei portocalii.
 
!problema/snooker?poza3.JPG!

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.