loj#P6197. 法克

法克

题目描述

n n 个英雄想打一盘游戏。但是游戏终归是游戏,由于这个游戏的某些坑爹设定,某些英雄之间会有一些压制关系。

具体来说,我们会给出 m m 个压制关系,表示英雄 a a 直接压制英雄 b b 。注意压制关系是有传递性的,也就是说如果存在一个三元组 (a,b,c) (a,b,c) 满足 a a 压制 b b b b 压制 c c ,那么 a a 也压制 c c 。同时由于游戏的某些设定,压制关系不会出现环,也就是说不会出现一个英雄直接或间接压制自己的情况(我们称 a a 间接压制 b b 当且仅当 a a 可以压制 b b 但不直接压制 b b )。

显然英雄之间的压制关系是很影响打游戏的乐趣的(如果你被某个同样在打游戏的英雄压制,那对你来说这盘游戏很可能会很没意思),因此英雄们希望打游戏的英雄之间互相不压制。为了达到这个目的,英雄们决定只选出一部分英雄打游戏,剩下的英雄下一盘再说。显然选出的英雄们越多英雄们就会越高兴。

不过,英雄们战斗力个个都很强,但智力相对来说还是差了点。所以英雄们找到了你,请你为他们帮忙。如果你能在 1 s \text{1 s} 内算出最多能选出几个英雄去打游戏,他们会很乐意让你也加入这盘游戏(显然你这种凡人是不会和英雄们产生压制关系的)。

输入格式

第一行两个正整数 n,m n,m ,分别表示英雄人数和直接压制关系的数目。
以下 m m 行,每行两个 [1,n] [1,n] 内的整数 a,b a,b ,表示英雄 a a 直接压制英雄 b b

输出格式

一行一个整数表示答案。

5 5
1 2
2 3
2 4
2 5
4 5
2

数据范围与提示

本题共有 10 10 个测试点,每个测试点的分值均为 10 10 分。
对于 30% 30\% 的数据,n18 n\le 18
对于 50% 50\% 的数据,n103 n\le 10^3
另有 30% 30\% 的数据,每个英雄最多只被一个英雄直接压制;
对于 100% 100\% 的数据,n105 n\le 10^5 m2n m\le 2n

题解&标程