#A. [2019提高组模拟试题]相等的集合

    传统题 文件IO:set 1000ms 256MiB

[2019提高组模拟试题]相等的集合

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

Description

小T翻出了必修1~5和选修系列所有数学书,信誓旦旦的准备开始复习。翻开必修一就看见了可爱的集合,小T突然想起这样一个问题: 假如有n个集合,现在有m个包含关系,形如A∈B,意思是集合A包含于集合B。显然我们知道,A∈B且B∈A,就可以推出A=B,即A、B两个集合是相等的。类似的,如果A∈B,B∈C,C∈A,那么有A=B=C成立。 小T觉得这些集合是两两相等的,为了验证这个猜想,小T可能需要再去验证一下一些集合是否有包含关系。但是小T时间紧张,除了集合还有很多东西要复习,就请你告诉他至少需要验证多少对集合的包含关系(同样,形如A∈B,为一个包含关系)。

Input Format

第1行:两个整数,n、m。我们n个集合从1到n编号,记其为X1、X2……Xn。 第2~m+1行:两个整数a、b,表示Xa∈Xb。

Output Format

一行一个整数,即至少需要验证的包含关系数目。

Sample

【输入样例一】

4 0

【输出样例一】

4
样例一解释:一种可行的方法是,验证X1∈X2,X2∈X3,X3∈X4,X4∈X1。

【输入样例二】

3 2
1 2
1 3

【输出样例二】

2
样例二解释:一种可行的方法是,验证X2∈X1,X3∈X1。

Hint

本题共有 25 个测试数据。 对于其中前 3 个数据,n≤17,m≤30; 对于其中前 8 个数据,n≤600,m≤10000; 对于所有的数据,n≤20000,m≤50000; 提示:可能有不需要验证任何其他的关系的情况,此时输出 0 即可。数据中存在有 5 个数据,m≤2。

2019提高组模拟试题二(订正)

未参加
状态
已结束
规则
OI
题目
3
开始于
2019-11-8 14:20
结束于
2019-11-8 19:50
持续时间
5.5 小时
主持人
参赛人数
1