Smok Bajtazar ma skarbonek.
Każdą skarbonkę można otworzyć jej kluczem lub rozbić młotkiem.
Bajtazar powrzucał klucze do pewnych skarbonek, pamięta przy tym
który do której.
Bajtazar zamierza kupić samochód i potrzebuje dostać się
do wszystkich skarbonek.
Chce jednak zniszczyć jak najmniej z nich.
Pomóż Bajtazarowi ustalić ile skarbonek musi rozbić.
Zadanie
Napisz program, który:
wczyta ze standardowego wejścia liczbę skarbonek i rozmieszczenie
odpowiadających im kluczy,
obliczy minimalną liczbę skarbonek, które trzeba rozbić, aby dostać
się do wszystkich skarbonek,
wypisze wynik na standardowe wyjście.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba
całkowita () - tyle skarbonek posiada
smok.
Skarbonki (jak również odpowiadające im klucze)
są ponumerowane od do .
Dalej na wejściu mamy wierszy: w -szym wierszu zapisana
jest jedna liczba całkowita - numer skarbonki, w której znajduje
się -ty klucz.
Wyjście
W pierwszym i jedynym wierszu standardowego wyjścia należy zapisać jedną
liczbę całkowitą - minimalną liczbę skarbonek, które trzeba rozbić,
aby dostać się do wszystkich skarbonek.
Przykład
Dla danych wejściowych:
4
2
1
2
4
poprawną odpowiedzią jest:
2
W powyższym przykładzie wystarczy rozbić skarbonki numer i .
Autor zadania: Wojciech Guzicki.
Kontakt
In the event of technical difficulties with Szkopuł, please contact us via email at [email protected].
If you would like to talk about tasks, solutions or technical problems, please visit our Discord servers. They are moderated by the community, but members of the support team are also active there.