大家照顾一下初学者
各位学兄,学姐,我刚刚接触算法(C++解释)老师就给我布置了这样难的题目,希望大家帮帮我把它解决掉,我真的没时间做了,谢谢大家
问题是这样的:::
2 着色问题
«问题描述:
对于给定的图G,如果存在一种用2种颜色对顶点着色的方案,使得图中任意一条边所
连接的2 个顶点着有不同颜色,则称图G 是可2着色的。
«编程任务:
对于给定的图G,编程计算图G 是否可2 着色的。
«数据输入:
由文件input.txt 给出输入数据。第1 行有2 个正整数n 和m,表示给定的图G 有n 个
顶点和m条边,顶点编号为1,2,…,n。接下来的m行中,每行有2 个正整数u,v,表示
图G 的一条边(u,v)。
«结果输出:
将编程计算出的图G 的2 着色性输出到文件output.txt。如果图G 不是可2 着色的,则
输出“No”;如果图G 是可以2 着色的,则输出“Yes”,并输出一种2 着色方案。
输入文件示例 输出文件示例
input.txt
8 7
1 3
1 6
2 8
3 7
4 5
5 6
5 8
output.txt
Yes
1 1 0 0 1 0 1 0