Prihlásenie Registrácia  

B1 - Cyklistika

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3.4, Python 3.11

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Malý Peťko si našiel novú záľubu, ktorou je bicyklovalovanie okolo budov. Aby nemusel pri každom rohu budovy vždy strmo odbočovať, rozhodol sa obchádzať budovu po kružnici. Žiaľ, nemá na bicykli tachometer, takže nevie koľko metrov sa mu podarilo spraviť. Pomôžte Peťkovi určiť koľko metrov najazdil. Pôdorys budovy má tvar mnohouholníka, pričom Peťko vždy jazdí okolo budovy po najkratšej možnej kružnici.

Vstup

Prvý riadok vstupu obsahuje kladné celé číslo T (1 ≤ T ≤ 50), určujúce počet budov, ktoré Peťko prešiel. Zvyšok vstupu opisuje vrcholy každej z T budov. Popis budovy v prvom riadku určuje počet vrcholov budovy N. Za ním bude nasledovať N riadkov, pričom každý z nich obsahuje dve kladné celé čísla xi, yi, určujúce súradnice i-tého vrcholu bodovy (0≤xi, yi≤1000). Žiadne dva rohy budovy nemajú rovnaké súradnice.

Výstup

Pre každú budovu zo vstupu vypíšte jediný riadok, určujúci vzdialenosť, ktorú Peťko okolo danej budovy najazdil. Výsledok uveďte s presnosťou na maximálne osem desatiných miest. Akceptované budú len riešenia, ktorých výsledok sa od správneho výsledku líši najviac o hodnotu 0,001.

B1

N=4. Naviac, všetky budovy majú pôdorys obdlžníka, ktorého strany sú rovnobežné s osami súradnicovej siete.

B2

3 ≤ N ≤ 200

Príklad vstupu

2
4
0 0
0 10
10 0
10 10
4
0 0
0 4
3 0
3 4

Príklad výstupu

44.42883
15.70796