bzoj#P1456. 电子警察

电子警察

题目描述

H 城是一个有着 nn 条双向街道的城市,它们把这座城市的每个路口都连接起来,使得任意路口之间有且仅有一条简单通路。

但是由于这几天连连发生车祸,于是 H 城的城长小 H 想通过放置电子警察的方式来防止事故的发生。

具体而言,如果把一个电子警察放在路口,那么它和这个路口所连接的街道与这些街道所连接的另一个路口将会被监控到;而如果把一个电子警察放在街道上,那么这条街道与它所连接的两个城市和这两个城市所连接的街道将会被监控到。

小 H 想通过放置尽量少的电子警察来监控到所有路口与街道,但是他发现他不会解决这个问题,于是他找到了智慧的你。

输入格式

第一行一个正整数 nn,表示街道的数目。

接下来 nn 行,每行两个正整数数 x,yx,y,表示这条街道所连接的两个路口的编号(由于某些原因,H 城的路口编号不一定是 1,2,1,2,\cdots)。

输出格式

一行一个正整数,表示放置电子警察的最少个数。

样例输入

7
1 10
10 100
100 1000
1000 10000
10000 100000
100000 1000000
1000000 10000000 

样例输出

3

样例解释

将三个电子警察分别放置在编号为 1010 和编号为 10000001000000 的路口与连接编号为 10001000 的路口和编号 1000010000 的路口的街道。

数据范围与约定

对于 30%30\% 的数据,n3000n\le3000
对于 100%100\% 的数据,1n2×1051\le n\le2\times10^5,且路口的编号在范围 [1,108][1,10^8] 之间。