题目描述
输入描述:
输出描述:
示例1
输入
2
6
1 2
2 3
3 4
1 4
1 3
2 4
5
1 2
1 2
1 3
2 3
5 6
输出
Case #1: 4
Case #2: 4
题目大意
给定 n n n组数,每组数有 a i , b i a_i,b_i ai,bi。你在每组数中都可以选择一个数,且只能选一个,这个数要求之前没有选到过。求你在这 n n n组数中选的数最多有多少。
分析
我们理解题意后,要知道对于每一个数,选不选有两个限制,如果这个数同一组的另一个数选了,那么这个数不能选。如果所有组中与这个数相等的选了,那么这个数也不能选。
错的思路
首先是小胖在肝这题,他采用的思路是贪心。这一听就是不对的。
不如先听听他的思路。他首先枚举每一组,然后如果这一组中有一个数被选了,那么就选另一个数。如果两个数都没有被选过,那么选出现次数少的那个。
这乍一听是没有问题的,但是很容易就会被hack掉。比如:
6
1 3
2 4
5 6
1 4
2 5
3 6
这组,就能随便怼。
每个数出现次数一样,那么13的时候选1。然后24选2,56选5。
然后14选4,25没得选,36选6。选到了5个数。但是显然,我分别选126453就可以选6个。
所以这题是不能贪心的。同样的动规不能用,因为状态太多了,更不能爆搜,肯定是 T L E TLE TLE。
对的思路
x i n j u n xinjun x</