#1191. [HNOI2006] 超级英雄 Hero

[HNOI2006] 超级英雄 Hero

题目描述

现在电视台有一种节目叫做超级英雄,大概的流程就是每位选手到台上回答主持人的几个问题,然后根据回答问题的多少获得不同数目的奖品或奖金。主持人问题准备了若干道题目,只有当选手正确回答一道题后,才能进入下一题,否则就被淘汰。为了增加节目的趣味性并适当降低难度,主持人总提供给选手几个「锦囊妙计」,比如求助现场观众,或者去掉若干个错误答案(选择题)等等。

这里,我们把规则稍微改变一下。假设主持人总共有 mm 道题,选手有 nn 种不同的「锦囊妙计」。主持人规定,每道题都可以从两种「锦囊妙计」中选择一种,而每种「锦囊妙计」只能用一次。我们又假设一道题使用了它允许的锦囊妙计后,就一定能正确回答,顺利进入下一题。现在我来到了节目现场,可是我实在是太笨了,以至于一道题也不会做,每道题只好借助使用「锦囊妙计」来通过。如果我事先就知道了每道题能够使用哪两种「锦囊妙计」,那么你能告诉我怎样选择才能通过最多的题数吗?

输入格式

输入文件的一行是两个正整数 nnmm,表示总共有 nn 种「锦囊妙计」,编号为 0n10 \sim n-1,总共有 mm 个问题。

以下的 mm 行,每行两个数,分别表示第 mm 个问题可以使用的「锦囊妙计」的编号。

注意,每种编号的「锦囊妙计」只能使用一次,同一个问题的两个「锦囊妙计」可能一样。

输出格式

第一行为最多能通过的题数 pp

5 6 
3 2
2 0 
0 3 
0 4
3 2
3 2
4

数据规模与约定

对于 100%100\% 的数据,0<n<10010 \lt n \lt 10010<m<10010 \lt m \lt 1001