Fişierul intrare/ieşire:paralelogram2.in, paralelogram2.outSursăACM 2014
AutorCatalin-Stefan TiseanuAdăugată defmins123FMI No Stress fmins123
Timp execuţie pe test0.3 secLimită de memorie16384 kbytes
Scorul tăuN/ADificultateN/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.inparalelogram2.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)

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content