图的m着色问题ACC PASCAL
2016-12-03 09:51
204 查看
图的m着色问题Time Limit:10000MS Memory Limit:65536KTotal Submit:53 Accepted:46Case Time Limit:1000MS Description 图的m 着色问题描述如下:给定无向连通图G 和m 种不同的颜色。用这些颜色为图G的各顶点着色,每个顶点着一种颜色。如果有一种着色法使G 中每条边的2 个顶点着不同颜色,则称这个图是m 可着色的。图的m着色问题是对于给定图G和m 种颜色,找出所有不同的着色法。编程任务:对于给定的无向连通图G 和m种不同的颜色,编程计算图的所有不同的着色法。Input 输入由多组测试数据组成。每组测试数据输入的第一行有3 个正整数n,k 和m,表示给定的图G 有n个顶点和k条边,m种颜色。顶点编号为1,2,…,n。接下来的k行中,每行有2个正整数u,v,表示图G 的一条边(u,v)。Output 对应每组输入,输出的每行是计算出的不同的着色方案数。Sample Input 5 8 41 21 31 42 32 42 53 44 5Sample Output 48Source
这道题就是要开2个数组,其中一个是二维数组,用来判断是否相连,一个一维数组记录是什么颜色!!!
vari,j,k,n,m,s:longint;v,b:array[1..1000]of longint;c:array[1..1000,1..1000]of boolean;procedure init;varx,y:longint;beginreadln(n,m,k);for i:=1 to m dobeginread(x,y);c[x,y]:=true;c[y,x]:=true;end;end;function aaa(n,max:longint):boolean;vari:longint;beginaaa:=true;for i:=1 to max-1 doif (c[max,i]=true) and (v[i]=n)then exit(false);end;procedure aa(dep:longint);vari:longint;beginif dep>n thenbegininc(s);exit;end;for i:=1 to k dobeginif aaa(i,dep) thenbeginv[dep]:=i;aa(dep+1);end;end;end;begins:=0;init;aa(1);write(s);end.
相关文章推荐
- 装载问题ACC pascal程序
- 图的m着色问题pascal程序
- 1003: Channel Allocation 着色问题 4色定理
- 解决Visual Assist .NET 在中文版 VS 2003 中syntax coloring着色混乱的问题
- 关于Lucene.net中文分词后的结果着色问题
- 区间图着色问题(算法导论课后题目16.1.3)
- 回溯法-------图的m--着色问题
- 区间图着色问题
- 图的M着色问题
- 图的着色问题
- POJ 1129 Channel Allocation DFS搜索 着色问题
- 多边形着色问题
- m图着色问题
- 回溯经典-m图着色问题(和地图4色问题的区别)
- 区间图着色问题
- hoj 1070 图的m可着色优化问题
- 解决DataGrid的边框不能着色的问题
- 最小数问题 pascal或C
- Apache下CGI程序支持ExtJS,以及ExtPascal遇问题修改
- POJ 2528 Mayor's posters 线段树 着色问题