#B3609. [图论与代数结构 701] 强连通分量

[图论与代数结构 701] 强连通分量

B3609 [图论与代数结构 701] 强连通分量

  • 题号:B3609
  • 难度:普及+/提高−(4)
  • 标签:强连通分量、Tarjan
  • 时间限制:1000 ms
  • 内存限制:512 MB
  • 样例数:1
  • 提交 / 通过:31687 / 16695
  • 抓取时间:2026-11-11T08:51:51.556Z
  • 正文来源:problem.content(zh-CN)

题目描述

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

注意,本题可能存在重边和自环。

输入格式

第一行两个正整数 nn,mm,表示图的点数和边数。

接下来 mm 行,每行两个正整数 uu 和 vv 表示一条边。

输出格式

第一行一个整数表示这张图的强连通分量数目。

接下来每行输出一个强连通分量。第一行输出 11 号点所在强连通分量,第二行输出 22 号点所在强连通分量,若已被输出,则改为输出 33 号点所在强连通分量,以此类推。每个强连通分量按节点编号大小输出。

样例

样例 1 输入

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

样例 1 输出

3
1 2 5 6
3
4

提示

对于所有数据,1≤n≤100001 \le n \le 10000,1≤m≤1000001 \le m \le 100000。


由 fetch_luogu_statements.mjs v1.0.0 自动抓取生成;原始数据见 json/B3609.json。