#L0547. 最大强连通分量

最大强连通分量

题目描述

一座古城由 NN 个城区(编号 1N1\cdots N)和 MM 条街道组成。街道分为两种:单向通行的(标记为 11)和双向通行的(标记为 22)。

若从城区 AA 能到达城区 BB,且从城区 BB 也能到达城区 AA,则称 A,BA,B互通的。一个城区集合中,若任意两个城区 X,YX,Y 都互通,则该集合称为一个强连通区域

你的任务是:找出最大的强连通区域,将其中的城区编号按从小到大的顺序输出。若存在两个大小相同的最大强连通区域,输出编号字典序更小的那个。

输入格式

第一行两个正整数 N,MN, M

接下来 MM 行,每行三个正整数 a,b,ta, b, t。若 t=1t = 1,表示存在从 aabb 的单向街道;若 t=2t = 2,表示 a,ba, b 之间存在双向街道。保证每条街道只出现一次。

输出格式

第一行一个整数,表示最大的强连通区域包含的城区个数。

第二行按编号从小到大输出该强连通区域中的所有城区编号。

样例

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

1 3 5

</p>

提示

  • 对于 60%60\% 的数据,1N2001\le N \le 2000M1040\le M \le 10^4
  • 对于 100%100\% 的数据,1N5×1031\le N \le 5\times 10^30M5×1040\le M \le 5\times 10^4
难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
1275
类型
传统题
Time Limit
1000ms
Memory Limit
125MiB
上传者