开灯
时间限制:1秒 内存限制:256M
【题目描述】
牛棚中一共有 \(N\) 盏灯,编号为 1 到 \(N\)。这些灯被置于一个非常复杂的网络之中。有 \(M\) 条很神奇的无向边,每条边连接两盏灯。每盏灯上面都带有一个开关。当按下某一盏灯的开关的时候,这盏灯本身,还有所有有边连向这盏灯的灯的状态都会被改变。状态改变指的是:当一盏灯是开着的时候,这盏灯被关掉;当一盏灯是关着的时候,这盏灯被打开。
问最少要按下多少个开关,才能把所有的灯都给重新打开。数据保证至少有一种按开关的方案,使得所有的灯都被重新打开。
【输入格式】
第一行:两个空格隔开的整数:\(N\) 和 \(M\)。
第二到第 \(M+1\) 行:每一行有两个由空格隔开的整数,表示两盏灯被一条无向边连接在一起。没有一条边会出现两次。
【输出格式】
一个单独的整数,表示要把所有的灯都打开时,最少需要按下的开关的数目。
【输入输出样例】
Input
5 6
1 2
1 3
4 2
3 4
2 5
5 3
Output
3
【数据限制】
对于 \(100\%\) 的数据,\(1≤N≤35\),\(1≤M≤595\)。1 <= N <= 35 1 <= M <= 595
【来源】
Mr.he