1332 上白泽慧音
时间限制: 1 s
空间限制: 128000 KB
题目等级 : 黄金 Gold
题解
题目描述 Description
给出N个点和M条单向边,求最大的强连通分量并且输出最大强连通分量中的所有点
输入描述 Input Description
第1行:两个正整数N,M
第2..M+1行:每行三个正整数a,b,t, t = 1表示存在从村庄a到b的单向道路,t = 2表示村庄a,b之间存在双向通行的道路。保证每条道路只出现一次。
输出描述 Output Description
第1行: 1个整数,表示最大的绝对连通区域包含的村庄个数。
第2行:若干个整数,依次输出最大的绝对连通区域所包含的村庄编号。
样例输入 Sample Input
5 5
1 2 1
1 3 2
2 4 2
5 1 2
3 5 1
样例输出 Sample Output
3
1 3 5
数据范围及提示 Data Size & Hint
对于60%的数据:N <= 200且M <= 10,000
对于100%的数据:N <= 5,000且M <= 50,000
学强连通算法之后的第一道练习题,也算是一个基础吧,至少tarjan算法求强连通分量没有什么变动,重点是程序里的 dfs(tarjan)部分
program mys;
ty