Polish version    English version  
  O olimpiadzie -> Zadania


 Aktualności
 O olimpiadzie
O olimpiadzie
Zadania
I OI 1993/1994
II OI 1994/1995
III OI 1995/1996
IV OI 1996/1997
V OI 1997/1998
VI OI 1998/1999
VII OI 1999/2000
VIII OI 2000/2001
IX OI 2001/2002
X OI 2002/2003
XI OI 2003/2004
XII OI 2004/2005
XIII OI 2005/2006
XIV OI 2006/2007
XV OI 2007/2008
Archiwum zadań
Ankieta OI
 Komitety
 XVIII OI 2010/2011
 Historia OI
 Książeczki OI
 Reprezentacja
 Obozy Olimpiady
 Galeria zdjęć
 Ciekawe odsyłacze
 OIG LiveCD
 IV OIG 2009/2010
 Historia OIG
 SIO
 MAIN
IX Olimpiada Informatyczna 2001/2002

Zadanie: nar
Autor: Piotr Chrząstowski-Wachtel
Narciarze

Zawody III stopnia, dzień pierwszy  
Plik źródłowy: nar.??? (np. pas, c, cpp)
Plik wejściowy: nar.in
Plik wyjściowy: nar.out

Na południowym stoku Bajtogóry znajduje się szereg tras narciarskich oraz jeden wyciąg. Wszystkie trasy prowadzą od górnej do dolnej stacji wyciągu. Każdego ranka grupa pracowników wyciągu sprawdza stan tras. Razem wjeżdżają na górną stację, po czym każdy wybraną trasą zjeżdża do dolnej stacji. Każdy pracownik zjeżdża tylko raz. Trasy pracowników mogą się częściowo pokrywać. Trasa sprawdzana przez każdego z nich cały czas prowadzi w dół.

Mapa tras narciarskich składa się z sieci polan połączonych przecinkami. Każda polana leży na innej wysokości. Dwie polany mogą być bezpośrednio połączone co najwyżej jedną przecinką. Zjeżdżając od górnej do dolnej stacji wyciągu można tak wybrać drogę, żeby odwiedzić dowolną polanę (choć zapewne nie wszystkie w jednym zjeździe). Trasy narciarskie mogą się przecinać tylko na polanach i nie prowadzą przez tunele, ani estakady.

Zadanie

Napisz program, który:

  • wczyta z pliku tekstowego nar.in mapę tras narciarskich,
  • wyznaczy minimalną liczbę pracowników, którzy są w stanie sprawdzić wszystkie przecinki między polanami,
  • zapisze wynik do pliku tekstowego nar.out.

Wejście

W pierwszym wierszu pliku wejściowego nar.in znajduje się jedna liczba całkowita n równa liczbie polan, 2<=n<=5 000. Polany są ponumerowane od 1 do n.

W każdym z kolejnych n-1 wierszy znajduje się ciąg liczb całkowitych pooddzielanych pojedynczymi odstępami. Liczby w (i+1)-szym wierszu pliku określają, do których polan prowadzą w dół przecinki od polany nr i. Pierwsza liczba k w wierszu określa liczbę tych polan, a kolejne k liczb to ich numery, uporządkowane wg ułożenia prowadzących do nich przecinek w kierunku z zachodu na wschód. Górna stacja wyciągu znajduje się na polanie numer 1, a dolna na polanie numer n.

Wyjście

W pierwszym i jedynym wierszu pliku wyjściowego nar.out powinna znajdować się dokładnie jedna liczba całkowita - minimalna liczba pracowników, którzy są w stanie sprawdzić wszystkie przecinki.

Przykład

Dla pliku wejściowego nar.in:

15
5 3 5 9 2 4
1 9
2 7 5
2 6 8
1 7
1 10
2 14 11
2 10 12
2 13 10
3 13 15 12
2 14 15
1 15
1 15
1 15

[ rysunek do zadania narciarze ]

poprawną odpowiedzią jest plik wyjściowy nar.out:

8



Wersja do druku