XI Olimpiada Informatyczna 2003/2004
|
Zawody I stopnia |
Plik źródłowy: | szp.xxx (xxx=pas,c,cpp) |
Limit pamięci: | 32 MB |
Bajtocka Agencja Wywiadowcza ma w swoich szeregach szpiegów. Każdy szpieg w ramach obowiązków służbowych śledzi dokładnie jednego, innego szpiega.
Król Bajtazar chce powierzyć tajną misję jak największej liczbie szpiegów. Misja jest jednak na tyle ważna, że każdy szpieg biorący w niej udział musi być śledzony przez przynajmniej jednego szpiega nie biorącego udziału w misji (przydział obowiązków związanych ze śledzeniem szpiegów nie ulega zmianie).
Napisz program, który:
W pierwszym wierszu wejścia zapisano jedną dodatnią liczbę całkowitą n - liczbę szpiegów, 2 <= n <= 1000000. Szpiedzy są ponumerowani od 1 do n. W kolejnych n wierszach opisano kogo śledzi każdy ze szpiegów. W każdym z tych wierszy znajduje się po jednej dodatniej liczbie całkowitej. Liczba ak znajdująca się w wierszu o numerze k + 1 oznacza, że szpieg numer k śledzi szpiega numer ak, 1 <= k <= n, 1 <= ak <= n, ak <> k.
Twój program powinien wypisać w pierwszym wierszu wyjścia jedną liczbę całkowitą - maksymalną liczbę szpiegów, których można wysłać z tajną misją.
Dla danych wejściowych:
6 2 3 l 3 6 5
poprawnym wynikiem jest:
3