📄 c.cpp
字号:
#include<stdio.h>
#define Q 100
void color(int g[][Q],int,char vexs[]);
void main (){
char vexs[Q];
int g[Q][Q];
int n,e;
int i,j,k;
/*int g[13][13] =
{
{0,0,0,0,1,1,1,0,0,1,0,0,0},
{0,0,0,0,0,1,1,1,0,1,1,0,0},
{0,0,0,0,0,0,0,0,0,1,1,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0},
{1,0,0,0,0,0,0,1,0,0,1,0,0},
{1,1,0,0,0,0,1,0,0,0,0,1,0},
{1,0,0,0,0,1,0,0,0,0,1,1,0},
{0,1,0,0,1,0,0,0,0,0,0,1,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0},
{0,1,1,0,0,0,0,0,0,0,0,0,0},
{0,1,1,0,1,1,1,0,0,0,0,0,0},
{0,1,0,0,0,1,1,1,0,0,0,0,0},
{0,0,0,0,0,0,0,0,0,0,0,0,0},
}; */
printf("输入路口的通路数和矛盾数:\n");
scanf("%d%d",&n,&e);
printf("输入通路信息:\n");
for(i=0;i<n;i++)
scanf("%s",&vexs[i]);
for(i=0;i<n;i++)
for(j=0;j<n;j++)
g[i][j]=0;
printf("输入矛盾的通路号:\n");
for(k=0;k<e;k++){
scanf("%d%d",&i,&j);
g[i][j]=1;
g[j][i]=1;
}
printf("该交通图的邻接矩阵为:\n");
for(i=0;i<n;i++){
for(j=0;j<n;j++)
printf("%d ",g[i][j]);
printf("\n");
}
color(g,n,vexs);
}
void color(int g[][Q],int n,char vexs[])
{
int i,j,t=0,c[Q]={0};
for(i=0;i<n;i++)
for(j=0;j<n;j++){
if(g[i][j]==1){
if(c[i]==c[j]){
c[j]=c[i]+1;
if(t<c[j]+1)
t=c[j]+1;
}
}
}
printf("共需要设置%d种灯进行管理,\n",t);
for(i=0;i<t;i++){
printf("在%d号灯亮时以下路可通行:\n",i);
for(j=0;j<n;j++){
if(c[j]==i)
printf("%c\n",vexs[j]);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -