poligon
Gigel a desenat pe hârtie un poligon (nu neaparat convex si care se poate chiar autointersecta) cu N vârfuri si a marcat mijlocul fiecarei laturi. Fratele lui, însa, a sters poligonul desenat, pe hârtie ramânând marcate numai mijloacele laturilor. Gigel ar dori, totusi, sa redeseneze poligonul, asa cum era el initial. Se considera ca poligonul are vârfurile numerotate de la 1 la N, în ordinea în care apar pe conturul poligonului. Cu aceasta numerotare a vârfurilor, se defineste si o numerotare a laturilor. Latura i (1<=i<N) este segmentul ce uneste vârfurile i si i+1. Latura N uneste vârfurile 1 si N.
Cerinta
Dându-se coordonatele mijloacelor laturilor unui poligon, determinati coordonatele vârfurilor sale.
Date de intrare
Pe prima linie a fisierului de intrare poligon.in se afla numarul întreg N, de laturi (si vârfuri) ale poligonului. Pe urmatoarele N linii se afla câte doua numere reale (cu maxim trei zecimale), separate printr-un spatiu, x si y, reprezentând coordonatele mijloacelor fiecarei laturi, în ordine, de la 1 la N.
Date de iesire
Fisierul de iesire poligon.out va contine mesajul 'fara solutie', în cazul în care Gigel a marcat gresit mijloacele laturilor si nu se poate forma nici un poligon având mijloacele laturilor date. În cazul în care exista cel putin o solutie, veti afisa N linii. Fiecare linie va contine doua numere reale, afisate cu trei zecimale, reprezentând coordonatele (x,y) ale unui vârf. Pe prima linie se vor afisa coordonatele vârfului numerotat cu 1, pe a doua linie, coordonatele vârfului numerotat cu 2 s.a.m.d.
Restrictii
Exemple
poligon.in |
poligon.out |
4 0 0 2 0 2 2 0 2 |
-1.000 1.000 1.000 -1.000 3.000 1.000 1.000 3.000 |
poligon.in |
poligon.out |
4 0 0 2 0 2 2 1 3 |
fara solutie |
Timp maxim de executie/test: 0.3 secunde
Mugurel Andreica
Universitatea Politehnica Bucuresti
Contact:mugurel_ionut@yahoo.com