Laiko ribojimas: 1s
Atminties ribojimas: 64MB
Duomenų failas: ciuozykla.in
Rezultatų failas: ciuozykla.out
Čiuožykla
Faustas mokosi čiuožti ledu. Kadangi mokytis jis dar tik pradėjo, tai kol kas vienintelis jam galimas judėjimo būdas yra atsispirti nuo sniego kruvelės ir čiuožti tiesia linija į šiaurę, pietus, rytus arba vakarus tol, kol galų gale pasieks kitą sniego krūvelę. Faustas pastebėjo, kad čiuožinėjant tokiu būdu nuo kai kurių sniego krūvelių yra neįmanoma pasiekti kai kurių kitų krūvelių, kad ir kiek atsispyrimų būtų atlikta. Todėl jis nori sustumti papildomų sniego krūvelių taip, kad taptų įmanoma nuo bet kurios sniego krūvelės pasiekti bet kurią kitą atlikus tam tikrą skaičių atsispyrimų. Padėkite Faustui rasti, kiek mažiausiai papildomų sniego krūvelių reikia pridėti.
Tarkite, kad sniego krūveles galima dėti tik taškuose, kurių koordinatės yra sveikieji skaičiai.
Pradiniai duomenys
Pirmoje eilutėje pateikiamas vienas sveikasis skaičius - sniego krūvelių skaičius ().
Toliau seka eilučių. -ojoje iš jų yra du sveikieji skaičiai ir - -osios sniego krūvelės koordinatės (). Visų sniego krūvelių koordinatės yra skirtingos.
Rezultatai
Jūsų programa turi išvesti vieną sveikąjį skaičių - kiek mažiausiai sniego krūvelių reikia pridėti, kad iš bet kurios sniego krūvelės būtų įmanoma patekti į bet kurią kitą.
Pavyzdžiai
Pradiniai duomenys | Rezultatai |
---|---|
2 2 1 1 2 |
1 |
2 2 1 4 1 |
0 |