L2-023图着色问题(C++代码)
发布时间
阅读量:
阅读量
【图着色问题属于一类著名的NP完全问题。对于一个无向图G=(V,E),需要判断是否存在一种方式,使用K种颜色为每个顶点分配颜色,从而确保任意两个相邻顶点的颜色不相同?
然而,本题的目的并非解决该着色问题,而是针对给定的颜色分配方案,判断其是否构成图着色问题的一个有效解。
输入格式:
第一行输入包含三个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别表示无向图的顶点数目、边数以及可用颜色种类。顶点与颜色均以1到V的编号进行标识。接下来的E行中,每行给出一条边的两个端点编号。在完成图信息输入后,将提供一个正整数N(≤20),表示待验证的颜色分配方案的数量。随后N行中,每行依次给出V个顶点对应的颜色值(第i个数字代表第i个顶点的颜色),各数字之间用空格分隔。题目保证所输入的无向图是合法的(即不存在自环和重复边)。
输出格式:
对于每一种颜色分配方案,若其满足图着色问题的要求,则输出Yes;否则输出No,并且每个结果单独占一行。
输入样例:
6 8 3
2 1
1 3
4 6
2 5
2 4
5 4
5 6
3 6
4
1 2 3 3 1 2
4 5 6 6 4 5
1 2 3 4 5 6
2 3 4 2 3
输出样例:
Yes
Yes
No
No
解题思路:当颜色分配方案
全部评论 (0)
还没有任何评论哟~
