SPOJ BUGLIFE WA

时间:2018-08-16 08:58:14

标签: graph bipartite

您好,我在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";
    }
}

0 个答案:

没有答案