Łuk triumfalny

Limit pamięci: 128 MB

Król Bajtocji, Bajtazar, wraca po zwycięskiej bitwie do swojego kraju. W Bajtocji jest miast połączonych zaledwie drogami. Wiadomo, że z każdego miasta da się dojechać do każdego innego dokładnie jedną trasą, złożoną z jednej lub większej liczby dróg. (Inaczej mówiąc, sieć dróg tworzy drzewo).

Król właśnie wkroczył do stolicy Bajtocji. W mieście tym postawiono łuk triumfalny, czyli bramę, pod którą przejeżdża król po odniesieniu zwycięstwa. Bajtazar, zachwycony przyjęciem przez poddanych, zaplanował pochód triumfalny, w którym odwiedzi wszystkie miasta Bajtocji, zaczynając z miasta, w którym aktualnie przebywa.

Pozostałe miasta nie są przygotowane na przyjazd króla - nie zostały w nich jeszcze postawione łuki triumfalne. Nad budową łuków czuwa doradca Bajtazara. Chce on zatrudnić pewną liczbę ekip budowlanych. Każda ekipa codziennie może wybudować jeden łuk, w dowolnie wybranym mieście. Niestety nikt nie wie, w jakiej kolejności król będzie odwiedzał miasta. Wiadomo jedynie, że każdego dnia król przemieści się z miasta, w którym się aktualnie znajduje, do sąsiedniego miasta. Król może odwiedzać poszczególne miasta dowolnie wiele razy (jednak wystarczy mu jeden łuk triumfalny w każdym mieście).

Doradca Bajtazara musi zapłacić każdej ekipie budowlanej tyle samo, bez względu na to, ile zbuduje łuków triumfalnych. Z jednej strony, doradca chce mieć pewność, że każde miasto aktualnie odwiedzane przez króla będzie miało łuk triumfalny. Z drugiej jednak strony chciałby zatrudnić jak najmniej ekip budowlanych. Pomóż mu i napisz program, który pomoże wyznaczyć minimalną konieczną liczbę ekip budowlanych.

Wejście

Pierwszy wiersz standardowego wejścia zawiera jedną liczbę całkowitą () oznaczającą liczbę miast w Bajtocji. Miasta są ponumerowane od 1 do , przy czym stolica Bajtocji ma numer 1.

Sieć dróg Bajtocji jest opisana w kolejnych wierszach. Każdy z tych wierszy zawiera dwie liczby całkowite () oddzielone pojedynczym odstępem, oznaczające, że miasta i są połączone bezpośrednio dwukierunkową drogą.

W testach wartych łącznie 50% punktów zachodzi dodatkowy warunek .

Wyjście

Pierwszy i zarazem jedyny wiersz standardowego wyjścia powinien zawierać jedną liczbę całkowitą równą minimalnej liczbie ekip budowlanych, które powinien zatrudnić doradca Bajtazara.

Przykład

Dla danych wejściowych:

7
1 2
1 3
2 5
2 6
7 2
4 1

poprawną odpowiedzią jest:

3

Wyjaśnienie do przykładu: W pierwszym dniu należy wybudować łuki triumfalne w miastach 2, 3, 4. Później wystarczy je zbudować w miastach 5, 6, 7.

Testy "ocen":

  • 1ocen: , miasta tworzą pełne drzewo binarne o wysokości 12;
  • 2ocen: , miasta są ułożone wzdłuż jednej ścieżki;
  • 3ocen: , prosty test poprawnościowy;
  • 4ocen: , prosty test poprawnościowy;
  • 5ocen: , dziewięć długich ścieżek zwisających z korzenia.

Autor zadania: Jacek Tomasiewicz.