Plantación de césped.


Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C, C#, C++, Java, Pascal, Python, VB

Es el tiempo en el año para que el Granjero Juan plante césped en todos sus campos. Toda la granja consiste de N campos (1 \leq N \leq 10^5), convenientemente numerados 1..N y conectados convenientemente por N-1 caminos bidireccionales de tal manera que desde cada campo se pueda llegar a cualquier otro a través de una colección de caminos. El Granjero Juan puede plantar potencialmente un tipo diferente de pasto en cada campo, pero el quiere minimizar el número de tipos de césped que el use en total, desde que cuanto más tipos de césped use, los gastos se le incrementan.

Desafortunadamente, sus vacas son engreidas acerca de su selección de césped en la granja. Si se planta el mismo tipo de césped en dos campos adyacentes (conectados directamente por un camino) o aun en dos campos casi-adyacentes (ambos campos conectados directamente a un campo común con caminos), entonces las vacas se quejaran acerca de la falta de variedad en sus opciones de comida. Lo último que el Granjero Juan necesita es vacas quejosas, dado que se sabe todo el alboroto que hacen cuando están disgustadas.

Por favor ayude al Granjero Juan a determinar el número mínimo de tipos de césped que el necesita para toda su granja.

Entrada

La primera línea de la entrada contiene N. Cada una de las siguientes N-1 líneas describen un camino en términos de los dos campos que conecta.

Salida

Imprima el número mínimo de tipos de cesped que el Granjero Juan necesita usar.

Ejemplo de Entrada

4
1 2
4 3
2 3

Ejemplo de Salida

3

En este ejemplo simple, hay 4 campos todos conectados de manera lineal. Se necesitan como minimo tres tipos de cesped. Por ejemplo, el Granjero Juan podria plantar los campos con cesped de tipos A, B, y C de esta manera A - B - C - A.


Comments

There are no comments at the moment.