您好,我在SPOJ上遇到此问题https://www.spoj.com/problems/BUGLIFE/,但是我在华盛顿州,有人可以帮忙。这是我的代码。
#include <bits/stdc++.h>
#define ll long long
using namespace std;
bool bipartite(int node,int c,vector <vector<int>> &v,vector <int> &color){
if(color[node]==c)return true;
if(color[node]==!c)return false;
color[node] = c;
for(int i=0;i<v[node].size();++i)
if(!bipartite(v[node][i],!c,v,color))
return false;
return true;
}
int main(){
int t;cin>>t;
for(int i=1;i<=t;++i){
int n,m;cin>>n>>m;
vector <vector <int> > v(n,vector <int>());
while(m--){
int a,b;
cin>>a>>b;
--a;--b;
v[a].push_back(b);
v[b].push_back(a);
}
vector <int> color(n,-1);
cout<<"Scenario #"<<i<<":\n";
cout<<(!bipartite(0,0,v,color)?"Suspicious bugs found!":"No suspicious bugs found!")<<"\n";
}
}