A8484 | Cyclic Coloring
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You are given a directed graph $G$ with $n$ vertices and $m$ arcs (multiple arcs and self-loops are allowed). You have to paint each vertex of the graph into one of the $k$ $(k<=n)$ colors in such way that for all arcs of the graph leading from a vertex $u$ to vertex $v$ , vertex $v$ is painted with the next color of the color used to paint vertex $u$ .
The colors are numbered cyclically $1$ through $k$ . This means that for each color $i$ $(i<k)$ its next color is color $i+1$ . In addition, the next color of color $k$ is color $1$ . Note, that if $k=1$ , then the next color for color $1$ is again color $1$ .
Your task is to find and print the largest possible value of $k$ $(k<=n)$ such that it's possible to color $G$ as described above with $k$ colors. Note that you don't necessarily use all the $k$ colors (that is, for each color $i$ there does not necessarily exist a vertex that is colored with color $i$ ).
The colors are numbered cyclically $1$ through $k$ . This means that for each color $i$ $(i<k)$ its next color is color $i+1$ . In addition, the next color of color $k$ is color $1$ . Note, that if $k=1$ , then the next color for color $1$ is again color $1$ .
Your task is to find and print the largest possible value of $k$ $(k<=n)$ such that it's possible to color $G$ as described above with $k$ colors. Note that you don't necessarily use all the $k$ colors (that is, for each color $i$ there does not necessarily exist a vertex that is colored with color $i$ ).
输入格式
The first line contains two space-separated integers $n$ and $m$ ( $1<=n,m<=10^{5}$ ), denoting the number of vertices and the number of arcs of the given digraph, respectively.
Then $m$ lines follow, each line will contain two space-separated integers $a_{i}$ and $b_{i}$ ( $1<=a_{i},b_{i}<=n$ ), which means that the $i$ -th arc goes from vertex $a_{i}$ to vertex $b_{i}$ .
Multiple arcs and self-loops are allowed.
Then $m$ lines follow, each line will contain two space-separated integers $a_{i}$ and $b_{i}$ ( $1<=a_{i},b_{i}<=n$ ), which means that the $i$ -th arc goes from vertex $a_{i}$ to vertex $b_{i}$ .
Multiple arcs and self-loops are allowed.
输出格式
Print a single integer — the maximum possible number of the colors that can be used to paint the digraph (i.e. $k$ , as described in the problem statement). Note that the desired value of $k$ must satisfy the inequality $1<=k<=n$ .
输入输出样例
输入 #1
4 4 1 2 2 1 3 4 4 3
输出 #1
2
输入 #2
5 2 1 4 2 5
输出 #2
5
输入 #3
4 5 1 2 2 3 3 1 2 4 4 1
输出 #3
3
输入 #4
4 4 1 1 1 2 2 1 1 2
输出 #4
1
For the first example, with $k=2$ , this picture depicts the two colors (arrows denote the next color of that color).
With $k=2$ a possible way to paint the graph is as follows.
It can be proven that no larger value for $k$ exists for this test case.
For the second example, here's the picture of the $k=5$ colors.
A possible coloring of the graph is:
For the third example, here's the picture of the $k=3$ colors.
A possible coloring of the graph is:

With $k=2$ a possible way to paint the graph is as follows.
It can be proven that no larger value for $k$ exists for this test case.
For the second example, here's the picture of the $k=5$ colors.
A possible coloring of the graph is:
For the third example, here's the picture of the $k=3$ colors.
A possible coloring of the graph is:

C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted