Game2d

Time limit: 0.85s Memory limit: 64MB Input: game2d.in Output: game2d.out

Nemo s-a hotarât să realizeze un joc pentru prietenii lui. Pentru că nu are cunoştinţe de grafică 3D3D, a decis să realizeze un joculeţ 2D2D. În sistemul de axe XOYXOY el desenează NN dreptunghiuri nedegenerate care au colțurile de coordonate întregi, iar laturile sunt paralele cu axele de coordonate. De asemenea, în acest sistem are două puncte de coordonate întregi (xS,yS)(x_S, y_S) și respectiv (xF,yF)(x_F, y_F). Scopul jocului este găsirea distanței minime de la punctul (xS,yS)(x_S, y_S) la punctul (xF,yF)(x_F, y_F) ocolind interioarele dreptunghiurilor, dar putând merge pe frontiera acestora. Deoarece Nemo nu are astfel de cunoştinţe, vă oferă vouă 100100 de puncte dacă jucați acest joc pentru el.

Date de intrare

Pe prima linie a fişierului game2d.in se află valoarea NN reprezentând numărul de dreptunghiuri. Pe a doua linie se vor afla cele patru numere xS,yS,xF,yFx_S, y_S, x_F, y_F. Pe următoarele NN linii se vor afla coordonatele câte unui dreptunghi dat prin colţul din stânga sus (xST,yST)(x_{ST}, y_{ST}) şi colţul din dreapta jos (xDR,yDR)(x_{DR}, y_{DR}).

Date de ieșire

Pe prima şi singura linie a fişierului game2d.out se va scrie un număr real cu 66 zecimale ce reprezintă distanţa minimă cerută.

Restricții si precizări

  • 1N7501 \leq N \leq 750
  • 1x,y2 000 000 0001 \leq x, y \leq 2 \ 000 \ 000 \ 000 (pentru orice coordonate ce apar în datele problemei)
  • Se garantează că oricare două dreptunghiuri nu se intersectează în niciun punct.
  • Se garantează că punctul de start şi cel de final sunt în exteriorul oricărui dreptunghi.
  • Aria oricărui dreptunghi nu va depăşi 10 000 00010 \ 000 \ 000
  • Se acordă punctaj maxim doar dacă diferenţa dintre rezultatul vostru şi rezultatul corect este mai mică decât 10610^{-6}.
  • Nemo vă sfătuieşte să folosiţi la implementare tipurile long long şi double .

Exemplul 1

game2d.in

2
1 1 4 5
1 5 2 4
4 2 5 1

game2d.out

5.000000

Explicație

Distanţa minimă dintre punctul de coordonate (1,1)(1,1) și cel de coordonate (4,5)(4, 5) este chiar distanţa dintre cele 22 puncte.

Exemplul 2

game2d.in

4 
6 5 1 1
5 4 6 3
2 4 4 2
2 6 4 5
1 8 2 7

game2d.out

6.812559

Exemplul 3

game2d.in

3 
1 4 4 4
1 2 4 1
2 5 3 3
1 7 4 6

game2d.out

3.828427

Exemplul 4

game2d.in

4 
1 9 8 1
2 3 3 1
6 3 7 1
4 5 5 2
1 7 8 6

game2d.out

12.187601

Exemplul 5

game2d.in

4 
1 1 5 6
1 5 2 4
2 3 3 2
3 5 4 4 
4 2 5 1

game2d.out

6.708204

Log in or sign up to be able to send submissions!