Pagini: [1]   În jos
  Imprimă  
Ajutor Subiect: problema urgenta  (Citit de 1661 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
vere
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« : Noiembrie 09, 2013, 22:16:12 »

Alice şi Bob joacă air hockey.

Jocul se desfasoară pe un teren dreptunghiular, care are pe laturile mici câte o poartă, iar jucătorii lovesc un puc cu scopul de a-l duce în poarta adversarului.

Se dau coordonatele colţurilor terenului de joc, precum şi coordonatele porţilor.

Regulile sunt simple: daca Alice loveşte pucul sub un unghi alfa, pucul va aluneca în linie dreaptă până la întâlnirea unei mantinele iar de acolo va ricoşa sub un unghi beta egal cu unghiul alfa, înapoi în teren.

Se consideră că energia cinetică se conservă până la impactul cu o mantinelă care conţine poarta adversarului. Forţa de frecare =0 şi mantinelele sunt perfect elastice. La impactul cu o mantinelă ce conţine una dintre cele doua porţi, energia cinetica a pucului devine egala cu 0 şi pucul se opreşte.

Prin urmare, traiectoria pucului va include o serie de schimbări de direcţie în diverse puncte de contact cu mantinela. Exista două situaţii de oprire a pucului pe mantinela: în interiorul unei porţi (caz în care lovitura devine una câştigătoare) sau în afara porţii (caz în care lovitura este necâştigătoare).

Cerința problemei

Ne interesează să aflăm punctajul pe care îl obţine Alice incercarii.

Se consideră că Alice înscrie un gol atunci când pucul lovește orice punct din poarta lui Bob.

Se consideră autogol când pucul lovit de Alice atinge un punct din poarta lui Alice.

Alice obține câte un punct pentru fiecare gol înscris în poarta lui Bob.

Alice primește zero puncte dacă pucul atinge mantinela care conține poarta lui Bob.

Alice pierde câte un punct la fiecare autogol.

Formatul datelor de intrare

Datele din fișier sunt dispuse în felul următor:

pe primele patru linii sunt date coordonatele colțurilor terenului de joc, în ordine trigonometrica
pe următoarele doua linii, coordonatele porții lui Alice
pe următoarele doua linii, coordonatele porții lui Bob
punctului de start
pe ultima linie, unghiul (alfa), specificat in grade, sub care se deplasează pucul în urma loviturii
Pentru coordonate și unghiuri se folosesc numere reale. Pentru numere reale se va folosi tipul double.

Unghiurile se măsoară intre direcția vectorului de deplasare al pucului și axa OX din spațiul cartezian. Latura mare a (terenului dreptunghiular) se considera a fi paralela cu axa OX.

Unghiul alfa trebuie sa nu genereze o mișcare a pucului paralela cu mantinela porții (în acest caz pucul nu ajunge la vreo destinație). Pentru astfel de cazuri, fisierul de iesire va contine valoarea 0.

Punctul de plecare se va gasi mereu in interiorul terenului.

Formatul datelor de ieşire

In fișierul de ieșire se va afișa, pe câte o linie, noua poziție a pucului în cadrul terenului, până când acesta capătă energia cinetică zero. x0 şi y0 reprezintă coordonatele iniţiale (afisate cu 3 zecimale) ale pucului.

La sfârșitul fișierului se va găsi 1, 0 sau -1, reflectând rezultatul obținut de Alice.

Exemplu:

x0 y0

x1 y1



xn yn

rezultat

Output-ul trebuie să se termine întotdeauna cu sfârșit de linie (\n).
Memorat
Pagini: [1]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines