Fişierul intrare/ieşire: | paralelogram2.in, paralelogram2.out | Sursă | ACM 2014 |
Autor | Catalin-Stefan Tiseanu | Adăugată de | FMI No Stress •fmins123 |
Timp execuţie pe test | 0.15 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Paralelogram2
Lunasorab s-a apucat de desenat pe hârtie. Din păcate s-a blocat la o problemă şi are nevoie de ajutorul vostru. Astfel, el vă dă un patrulater (nu neapărat convex) şi vă cere să alegeţi câte un punct strict pe laturile lui astfel încât cele patru puncte alese de voi să formeze un paralelogram de arie nenulă şi fiecare latură a patrulaterului să conţină exact un punct ales de voi.
Date de intrare
Fişierul de intrare paralelogram2.in va conţine pe prima linie T, numărul de teste. Fiecare test conţine câte 8 numere întregi, X1 Y1 X2 Y2 X3 Y3 X4 Y4, reprezentând, în ordine, vârfurile unui patrulater [(X1, Y1) (X2, Y2) (X3, Y3) (X4, Y4)].
Date de ieşire
În fişierul de ieşire paralelogram2.out se vor afişa T linii, pe linia i aflându-se 8 numere reale PX1 PY1 PX2 PY2 PX3 PY3 PX4 PY4, reprezentând vârfurile paralelogramului găsit. Punctul (PX1, PY1) va trebui să aparţină (strict) laturii (X1, Y1) - (X2, Y2), punctul (PX2, PY2) va trebui să aparţină (strict) laturii (X2, Y2) - (X3, Y3), şamd.
Restricţii
- 1 ≤ T ≤ 100
- 0 ≤ Xi ≤ 1000000 pentru 1 ≤ i ≤ 4
- 0 ≤ Yi ≤ 1000000 pentru 1 ≤ i ≤ 4
- Se garantează că patrulaterele din fişierul de intrare nu vor conţine 3 varfuri coliniare
- Se acceptă orice răspuns valid
- Răspunsul vostru pentru un test se va considera corect numai şi numai dacă cele patru puncte reprezintă, în ordine, vârfurile unui paralelogram de arie nenulă şi fiecare latură a patrulaterului conţine exact un punct
- Răspunsul vostru va fi verificat cu o precizie de 0.0001, atât pentru aria paralelogramului cât şi pentru verificarea ca lungimile laturilor opuse să fie egale
Exemplu
paralelogram2.in | paralelogram2.out |
---|---|
1 0 0 10 0 10 10 0 10 | 9 0 10 1 1 10 0 9 |
Explicaţie
Patrulaterul iniţial este un pătrat cu vârfurile în (0, 0), (10, 0), (10, 10), (0, 10).
Paralelogramul găsit are vârfurile în (9,0), (10, 1), (1, 10), (0, 9)