Prihlásenie Registrácia  

D1 - Doska 1

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

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

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

Dnes sa už všetky elektronické zariadenia vyrábajú s krátkou dobou životnosti a pri väčšine porúch sa celé súčiastky vymieňajú. Takéto orientovanie sa na konzum má rôzne dôsledky. Okrem množenia elektronického odpadu ide aj o "zbytočné vyhadzovanie" peňazí - napr. pri pokazení kondenzátorov na riadiacej jednotke indukčnej dosky sa vymení celá plošná doska (v hodnote vyše 100 eur) namiesto výmeny (odpájkovania a pripájkovania) kondenzátorov (v hodnote niekoľko centov).
Adam už niekoľko rokov zhromažďuje rôzne plošné dosky a odpájkuváva jednotlivé súčiastky (diódy, kondenzátory, mostíky, atď.). Funkčné súčiastky potom používa na opravy.
Jeho kamarát Boris mu doniesol nezvyčajnú jednovrstvovú dosku plošných spojov bez akéhokoľvek popisu. Chceli by zistiť aké napätie na ňu môžu pripojiť aj ktoré súčiastky budú vhodné. Na prvý odhad týchto údajov by potrebovali vedieť aká je najmenšia vzdialenosť medzi dvoma otvormi v doske plošných spojov.

Úloha

Pre dané otvory v doske plošných spojov vypočítajte najmenšiu vzdialenosť medzi nimi.

Vstup

V prvom riadku vstupu sa nachádza počet otvorov N v doske. Nasleduje N riadkov, každý s dvoma celočíselnými súradnicami X, Y ďalšieho otvoru. Môžete predpokladať, že žiadne dva otvory nie sú na tom istom mieste.
1 ≤ N ≤ 4 000
0 ≤ X, Y ≤ 1 000 000

Výstup

Výstupom programu je kladné reálne číslo - najmenšia vzdialenosť medzi dvoma rôznymi otvormi s presnosťou na (aspoň) 3 desatinné miesta.

Príklad

Na obrázku je znázornená doska plošných spojov s otvormi.

Vstup:

17
3 19
5 17
7 19
7 12
5 14
3 10
7 6
5 2
3 4
11 14
13 2
15 14
19 14
19 2
23 14
19 8
23 2

Výstup:

2.8284
Najmenšia vzdialenosť je napríklad medzi bodmi [5,14] a [7,12] (na obrázku označené červenou farbou).