编程题
### 问题描述 小齐养了 $N$ 头奶牛,每头奶牛都有自己最喜欢的颜色。奶牛们方便地被标记为 1 到 $N$。每种颜色可以用范围在 $1$ 到 $N$ 之间的整数表示。 有 $M$ 对奶牛,其中奶牛 $b$ 羡慕奶牛 $a$。可能存在 $a=b$ 的情况,即奶牛羡慕自己。对于任何颜色 $c$,如果奶牛 $x$ 和 $y$ 都羡慕颜色为 $c$ 的奶牛,则奶牛 $x$ 和 $y$ 共享相同的最喜欢颜色。 给定这些信息,确定一种奶牛到最喜欢颜色的分配方式,使得所有奶牛中的不同最喜欢颜色的数量最大化。由于存在满足此属性的多种分配方式,输出字典序最小的一种(即按照 $1$ 到 $N$ 的顺序分配颜色)。 ### 输入格式 第一行包含整数 $N$ 和 $M$。 接下来的 $M$ 行,每行包含两个用空格分隔的整数 $a$ 和 $b$,表示奶牛 $b$ 羡慕奶牛 $a$。输入中可能多次出现相同的一对数字。 ### 输出格式 对于每个 $i$,在新的一行上输出奶牛 $i$ 的最喜欢颜色。 ### 样例输入 ``` 9 12 1 2 4 2 5 8 4 6 6 9 2 9 8 7 8 3 7 1 9 4 3 5 3 4 ``` ### 样例输出 ``` 1 2 3 1 1 2 3 2 3 ``` ### 评测数据规模 $1 \leq N \leq 2 \times 10^5$,$1 \leq M \leq 2 \times 10^5$,$1 \leq i \leq N$。
查看答案
赣ICP备20007335号-2