#include<stdio.h>
#include<bits/stdc++.h>
#define mx 100000
using namespace std;
long vis[10000]={-1};
main()
{
long long ts;
while(cin>>ts)
{
vector<long>vec[100000];
queue<long>qu;
memset(vis,-1,sizeof(vis));
long n,x,y,i,u,v,len;
if(ts==0)
break;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x>>y;
vec[x].push_back(y);
vec[y].push_back(x);
}
long flag=0;
vis[0]=0;
qu.push(0);
while(!qu.empty())
{
u=qu.front();
qu.pop();
len=vec[u].size();
for(i=0;i<len;i++)
{
v=vec[u][i];
if(vis[v]==-1)
{
if(vis[u]==0)
vis[v]=1;
else
vis[v]=0;
qu.push(v);
}
else
{
if(vis[v]==vis[u])
{
flag=1;
break;
}
}
}
if(flag==1)
break;
}
if(flag==0)
cout<<"BICOLORABLE."<<endl;
else
cout<<"NOT BICOLORABLE."<<endl;
}
}
#include<bits/stdc++.h>
#define mx 100000
using namespace std;
long vis[10000]={-1};
main()
{
long long ts;
while(cin>>ts)
{
vector<long>vec[100000];
queue<long>qu;
memset(vis,-1,sizeof(vis));
long n,x,y,i,u,v,len;
if(ts==0)
break;
cin>>n;
for(i=0;i<n;i++)
{
cin>>x>>y;
vec[x].push_back(y);
vec[y].push_back(x);
}
long flag=0;
vis[0]=0;
qu.push(0);
while(!qu.empty())
{
u=qu.front();
qu.pop();
len=vec[u].size();
for(i=0;i<len;i++)
{
v=vec[u][i];
if(vis[v]==-1)
{
if(vis[u]==0)
vis[v]=1;
else
vis[v]=0;
qu.push(v);
}
else
{
if(vis[v]==vis[u])
{
flag=1;
break;
}
}
}
if(flag==1)
break;
}
if(flag==0)
cout<<"BICOLORABLE."<<endl;
else
cout<<"NOT BICOLORABLE."<<endl;
}
}
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন