#B3609. 【模板】强连通分量

【模板】强连通分量

题目描述

给定一张 nn 个点 mm 条边的有向图,求出每个点所在的强连通分量。

输入格式

第一行两个整数 n,mn,m

接下来 mm 行,每行两个整数 u,vu,v,表示一条从 uuvv 的有向边。

输出格式

第一行一个整数,表示强连通分量的数量。

接下来若干行,每行输出一个强连通分量中的所有点(用空格分隔)。

强连通分量内的点按编号从小到大输出,强连通分量之间按各自最小编号从小到大排序后输出。

输入输出样例 #1

输入 #1

6 8
1 2
1 5
2 6
5 6
6 1
5 3
3 4
4 3

输出 #1

2
1 2 5 6
3 4

说明/提示

对于全部数据,1n1041 \le n \le 10^41m1051 \le m \le 10^5

算法标签

Tarjan 算法 / 强连通分量