logo - 刷刷题
下载APP
【简答题】

【程序说明】 著名的四色定理指出任面区域图均可用4种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过4种颜色的着色方案。程序中用1~4表示4种颜色。要着色的N个区域用0~N-1编号,区域相邻关系用adj[][]矩阵表示,矩阵的i行j列的元素为1,表示区域i与区域j相邻:矩阵的i行j列的元素为0,表示区域i与区域j不相邻。数组color[]用来存储着色结果,color[i]的值为区域i所着颜色。 【程序】 #include<stdio.h> #define N 10 void output(int color[])/*输出一种着色方案*/ { int i; for(i=0; i<N; i++) printf("%4d", color[i]); pfintf("\n"); } int back(int *ip,int color[])/*回溯*/ { int c=4; while(c==4){ if(*ip<=0)return 0; --(*ip); c= (1) ; color[*ip]=-1; } return c; } /*检查区域i,对c种颜色的可用性*/ int colorOK(int i, int c, int adj[][N], int color[]) { int j; for(j=0; j<i; j++) if( (2) )return 0; return 1; } /*为区域i选一种可着的颜色*/ int select(int i,int c,int adj[][N], int color[]) int k; for(k = c; k<=4; k++) if( (3) )return k; return 0; int coloring(int adj[][N])/*寻找各种着色方案*/ { int color[N], i, c, cnt; for(i=0; i<N; i++)cotor[i]=-1; i=c=0;cnt=0; while(1){ if((c= (4) ==0){ c=back(&i, color); if(c==0)return cnt; }else{ (5) ; i++; if(i==N){ output(color); ++cnt; c=back(&i, color); }else c = 0; } } } void main() { int adj[N][N]={ {0,1,0,1,1,1,1,1,1,1}, {1,0,1,1,0,1,1,1,1,0}, {0,1,0,1,0,1,1,0,1,1}, {1,1,1,0,1,1,0,0,1,1}, {1,0,0,1,0,1,0,0,0,0}, {1,1,1,1,1,0,1,0,0,1}, {1,1,1,0,0,1,0,0,1,0}, {1,1,0,0,0,0,0,0,1,1}, {1,1,1,1,0,0,1,1,0,1}, {1,0,1,1,0,1,0,1,1,0} }; printf("共有%d组解.\n",coloring(adj)); }

举报
参考答案:
参考解析:
.
刷刷题刷刷变学霸
举一反三

【多选题】相邻关系的主体可以是()

A.
不动产的所有人
B.
不动产的承租人
C.
不动产的使用人
D.
不动产的承包人

【多选题】相邻关系的主体可以是()

A.
不动产的所有人
B.
不动产的承租人
C.
不动产的使用人
D.
不动产的承包人

【多选题】下列属于相邻关系的有______

A.
相邻土地通行关系
B.
相邻用水、排水关系
C.
相邻越界关系
D.
相邻土地的建筑物修缮关系
E.
相邻有害物排放关系

【多选题】在下列民事纠纷中,哪些应按相邻关系处理?( )

A.
甲在乙的房屋后挖地窖,造成乙的房屋基地下沉,墙体裂缝,引起纠纷
B.
甲村为了取水浇地,在乙、丙、丁村的土地上修建水井引起纠纷
C.
甲新建的房屋滴水滴在乙的房屋上,引起纠纷
D.
甲村在河流上修建拦河坝,使乙村用水量骤减,引起纠纷

【单选题】相邻关系的处理原则,《民法通则》规定的是()

A.
有利生产、公平合理、方便生活、团结互助
B.
有利生产、团结互助、方便生活、公平合理
C.
有利生产、团结互助、公平合理、方便生活
D.
有利生产、方便生活、团结互助、公平合理

【单选题】在下列民事纠纷中,不应该按照相邻关系来处理的是( )。

A.
甲新建的房屋滴水滴在乙的房屋上,因此引起的纠纷
B.
甲村在河流上游修建拦河坝,使乙村的水量骤减,因此引起的纠纷
C.
甲的土地被乙的土地包围,导致甲无法直接到达公共道路,于是甲在乙的土地上通行,因此引起的纠纷
D.
甲为了能在自己的房中欣赏远处风景,便与相邻的乙约定:两年内乙不在自己的土地上建造楼房,一个月后乙在自己的土地上建起两层小楼,因此引起的纠纷

【多选题】下列民事纠纷中,哪些应按相邻关系处理( )。

A.
甲在乙屋后挖菜窖,造成乙的房屋地基下沉,墙体裂缝,引起纠纷
B.
甲村为了取水浇地,在乙、丙、丁村的土地上修建引水渠,引起纠纷
C.
甲新建的房屋滴水,滴在乙的房顶上,引起纠纷
D.
甲村在河流上游修建拦河坝,使乙村用水量剧减,引起纠纷

【多选题】在下列民事纠纷中,哪些应按相邻关系处理( )

A.
甲在乙的房屋后挖地窖,造成乙的房屋基地下沉,墙体裂缝,引起纠纷
B.
甲村为了取水浇地,在乙、丙、丁村的土地上修建水井引起纠纷
C.
甲新建的房屋滴水滴在乙的房屋上,引起纠纷
D.
甲村在河流上修建拦河坝,使乙村用水量骤减,引起纠纷