Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | seg.in, seg.out | Sursă | All You Can Code 2008 |
Autor | Andrei Paul Puni, Mihai Ciucu | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 24096 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Segmente
Se dau N segmente. Sa se afle lungime minima a unei linii frante inchise care contine segmentele date pe laturile ei. Linia franta trebuie sa se poata desena pornind de la un punct oarecare de pe ea, mergand pe fiecare latura o singura data si ajungand inapoi la punctul de pornire (linia se poate autointersecta).
Date de intrare
Prima linie va contine numarul T reprezentand numarul de teste, prima linie a unui test se va afla numarul N, pe urmatoarele N lini vor fi coordonatele capetelor segmentelor.
Date de iesire
Pentru fiecare test se va afisa lungimea linilor care trebuie desenate, afisata cu 6 zecimale cu aproximare.
Restrictii
- 1 ≤ N ≤ 17
- coordonatele punctelor se afla in intervalul [ -2.000 , +2.000 ]
- in fisierul de intrare se vor afla maxim 500 teste dintre care maixm 4 vor avea N ≥ 10
Exemplu
seg.in | seg.out |
---|---|
2 2 1 1 1 2 1 1 2 2 3 -931.693980 781.297764 -767.512077 1305.542158 933.100984 -166.303237 1225.734021 -125.170151 320.771418 -163.911119 -148.087080 -332.428961 | 1.000000 4427.669962 |
Explicatie
la testul 1 se uneste 1 2 cu 2 2 deci lungime 1