Łamane płaskie
Limit pamięci: 32 MB
Rozważmy kartezjański układ współrzędnych narysowany na kartce papieru.
Łamaną płaską w tym układzie nazywamy łamaną, którą można wykreślić prowadząc ołówek bez odrywania od papieru w kierunku od lewej do prawej strony kartki i taką,
że każda prosta zawierająca odcinek łamanej jest nachylona do osi
pod kątem należącym do przedziału domkniętego
.
Na kartce narysowano
różnych punktów o obu współrzędnych całkowitych.
Jaka jest najmniejsza liczba łamanych płaskich, które należałoby wykreślić, żeby każdy z n punktów należał do co najmniej jednej z nich?
Przykład
Dla
punktów o współrzędnych
,
,
,
,
,
najmniejszą liczbą łamanych płaskich pokrywających te punkty jest
.
Zadanie
Napisz program, który:
- wczytuje ze standardowego wejścia liczbę punktów i ich współrzędne;
- oblicza najmniejszą liczbę łamanych płaskich, które należałoby wykreślić, żeby pokryły one wszystkie punkty;
- zapisuje wynik na standardowe wyjście.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się dodatnia liczba całkowita
nie większa od
.
Jest to liczba punktów.
W kolejnych
wierszach znajdują się współrzędne punktów.
Każdy wiersz zawiera dwie liczby całkowite
oddzielone pojedynczym odstępem,
,
.
Liczby w wierszu
,
, są współrzędnymi
-tego punktu.
Wyjście
Twój program powinien zapisać jedną liczbę całkowitą w pierwszym i jedynym wierszu standardowego wyjścia.
Tą liczbą powinna być najmniejsza liczba łamanych płaskich, które należy wykreślić, żeby pokryć wszystkie dane punkty.
Przykład
Dla danych wejściowych:
6
1 6
10 8
1 5
2 20
4 4
6 2
poprawną odpowiedzią jest:
3
Autor zadania: Krzysztof Sobusiak.