AT_ttpc2022_h Colorful Graph

题目描述

给定一个有 $N$ 个顶点和 $M$ 条边的有向图。顶点编号为 $1$ 到 $N$,每条边编号为 $1$ 到 $M$。第 $i$ 条边($1 \leq i \leq M$)是从顶点 $A_i$ 指向顶点 $B_i$ 的有向边。 你需要用 $1$ 到 $N$ 之间的某种颜色为每个顶点染色。对于顶点 $i$($1 \leq i \leq N$)的颜色 $c_i$,需满足下列条件: - 对于任意一组 $(i, j)\ (1 \leq i < j \leq N)$,若 $c_i = c_j$,则必须存在从顶点 $i$ 到顶点 $j$ 或从顶点 $j$ 到顶点 $i$ 的路径(都存在也可以)。 请构造一种染色方案,使得 $\max\{c_1, \ldots, c_N\}$ 尽可能小,并输出一种可行方案。

输入格式

输入以以下格式从标准输入读入。 > $N$ $M$ > $A_1$ $B_1$ > $A_2$ $B_2$ > $\vdots$ > $A_M$ $B_M$

输出格式

请输出一种使 $\max\{c_1, \ldots, c_N\}$ 最小的染色方式。 > $c_1$ $c_2$ $\cdots$ $c_N$

说明/提示

### 注意 本题的内存限制为 $256$ MB。 ### 样例解释 1 由于顶点 $2 \to 5 \to 1 \to 4$ 间存在路径,可将顶点 $1, 2, 4, 5$ 染为同一种颜色。 但顶点 $3, 4$ 之间没有路径,因此至少需要两种颜色。 ### 数据范围 - 所有输入均为整数 - $1 \leq N \leq 7 \times 10^3$ - $0 \leq M \leq 7 \times 10^3$ - $1 \leq A_i, B_i \leq N\ (1 \leq i \leq M)$ - $A_i \neq B_i\ (1 \leq i \leq M)$ - $(A_i, B_i) \neq (A_j, B_j)\ (1 \leq i < j \leq M)$ 由 ChatGPT 5 翻译