Time limit: 0.1s
Memory limit: 4MB
Input: drum.in
Output: drum.out
În regatul XLand oraşele erau înconjurate de ziduri în formă de poligoane convexe. Împăratul a dispus construirea unui drum de legătură directă între capitală şi un alt oraş dat. Fiecare extremitate a drumului poate fi orice punct situat pe zidul oraşului, respectiv capitalei. Lungimea drumului este distanţa dintre extremităţile sale.
Cerinţă
Determinaţi cel mai scurt drum dintre capitală şi oraşul dat.
Date de intrare
Fişier de intrare: drum.in
- Linia 1: - număr natural nenul, reprezentând numărul de colţuri ale zidurilor capitalei;
- Linia 2: , , , , , , , perechi de numere întregi, separate prin câte un spaţiu, reprezentând coordonatele vârfurilor zidurilor capitalei;
- Linia 3: , număr natural nenul, reprezentând numărul de colţuri ale zidurilor oraşului dat;
- Linia 4: , , , , , , , perechi de numere întregi, separate prin câte un spaţiu, reprezentând coordonatele vârfurilor zidurilor acestui oraş.
Date de ieșire
Pe prima linie a fișierului de ieșire drum.out
se vor găsi patru numere reale trunchiate la zecimale (, , , ), separate prin câte un spaţiu, reprezentând extremităţile drumului de legătură respectiv.
Restricții și precizări
- Coordonatele vârfurilor zidurilor ce înconjoară oraşul, respectiv capitala sunt numere întregi aparţinând intervalului şi sunt date fie în ordinea deplasării acelor de ceasornic, fie în sens invers deplasării acelor de ceasornic.
- Capitala şi oraşul nu au nici un punct comun (nu au puncte interioare comune şi nu au puncte comune pe zidurile lor).
- Dacă există mai multe soluții, se poate afișa oricare dintre ele.
Exemplu
drum.in
4
3 4 3 2 5 2 5 4
4
8 3 8 6 11 6 11 3
drum.out
5.0000 3.5000 8.0000 3.5000