#include<stdio.h>
#include<string.h>
int flag;
int map[210][210],n;
int color[210];
void dfs(int d,int c)
{
if(flag)
return;
if(color[d]==0)
{
color[d]=c;
for(int i=0;i<n;i++)
{
if(map[d][i]==1)
dfs(i,-c);
}
}
else
{
if(color[d]!=c)
flag=1;
}
}
int main()
{
int i,j,k,l,m;
for(;;)
{
scanf("%d",&n);
if(n==0)
break;
scanf("%d",&m);
memset(color,0,sizeof(color));
memset(map,0,sizeof(map));
for(i=0;i<m;i++)
{
int a,b;
flag=0;
scanf("%d %d",&a,&b);
map[a][b]=1;
map[b][a]=1;
}
dfs(0,1);
if(!flag)
printf("BICOLORABLE.\n");
else
printf("NOT BICOLORABLE.\n");
}
return 0;
}
uva 10004 双着色
最新推荐文章于 2024-04-24 17:16:45 发布