#aBC299E. [ABC299E] Nearest Black Vertex
[ABC299E] Nearest Black Vertex
AT_abc299_e [ABC299E] Nearest Black Vertex
题目描述
给定一个包含 个顶点和 条边的无向图,该图是简单图(不包含自环和重边)且连通。
对于 ,第 条边连接顶点 和顶点 。
请判断是否存在一种将每个顶点涂成白色或黑色的方法,使得同时满足以下两个条件,并在存在时给出一种方案。
- 至少有一个顶点被涂成黑色。
- 对于所有 ,都满足以下条件:
- 顶点 到“所有被涂成黑色的顶点中,距离 最近的顶点”的距离恰好为 。
这里,顶点 和顶点 之间的距离定义为连接 和 的路径中边的最小数量。
输入格式
输入以以下格式从标准输入读入。
输出格式
如果不存在满足题意的涂色方法,则输出 No。
如果存在,则按如下格式输出:第一行输出 Yes,第二行输出一个长度为 的字符串 ,表示每个顶点的涂色方案。对于 ,若第 个顶点被涂成黑色,则 的第 个字符为 ,若被涂成白色,则为 。
Yes
如果有多种方案,输出任意一种均可。
输入输出样例 #1
输入 #1
5 5
1 2
2 3
3 1
3 4
4 5
2
1 0
5 2
输出 #1
Yes
10100
输入输出样例 #2
输入 #2
5 5
1 2
2 3
3 1
3 4
4 5
5
1 1
2 1
3 1
4 1
5 1
输出 #2
No
输入输出样例 #3
输入 #3
1 0
0
输出 #3
Yes
1
说明/提示
数据范围
- 给定的图是简单且连通的
- 所有输入均为整数
样例解释 1
例如,将顶点 涂成黑色,顶点 涂成白色,就是一种满足题意的方案。实际上,对于 ,用 表示顶点 到“所有黑色顶点中距离 最近的顶点”的距离,则 ,特别地, 成立。
样例解释 2
不存在满足题意的涂色方法,因此输出 No。
由 ChatGPT 4.1 翻译