Considerăm segmente în planul XOY
. Segmentele sunt fie orizontale (paralele cu axa OX
), fie verticale (paralele cu axa OY
) şi au capetele în puncte de coordonate întregi. De asemenea, nu există două segmente orizontale situate pe aceeaşi dreaptă şi nici două segmente verticale situate pe aceeaşi dreaptă. Tuturor segmentelor li se poate aplica simultan o operaţie de prelungire la ambele capete cu o valoare întreagă . Pentru orice segment, dacă lungimea este , atunci după prelungire dimensiunea sa este .
Cerinţă
Să se determine valoarea minimă cu care trebuie prelungite segmentele astfel încât după prelungire segmentele să închidă cel puţin un dreptunghi.
Date de intrare
Pe prima linie a fişierului segmente.in se află un număr natural reprezentând numărul de segmente. Pe fiecare din următoarele linii se găsesc câte patru numere întregi . Primele două reprezintă un capăt al segmentului, iar ultimele două celălalt capăt.
Date de ieșire
Pe prima linie a fişierului segmente.out
, se va scrie un număr natural reprezentând dimensiunea minimă necesară prelungirii tuturor segmentelor pentru a se forma cel puţin un dreptunghi.
Restricții și precizări
- capetele segmentelor sunt numere întregi din intervalul
- Orice segment are lungimea iniţială de cel puţin
- Pentru datele de intrare, nu există iniţial niciun dreptunghi deja format; de asemenea, vor exista cel puţin segmente verticale şi cel puţin două orizontale
- Se garantează că există o soluţie cu
- Pentru din teste,
Exemplu
segmente.in
5
1 2 1 3
3 2 4 2
2 3 2 5
5 2 5 7
5 6 7 6
segmente.out
3
Explicație
Segmentele iniţiale sunt cele îngroşate, cu linie punctată sunt extinderile cu unităţi la ambele capete ale tuturor segmentelor, iar haşurat este marcat dreptunghiul care s-a format după prelungirea cu .