#17446: 錯在哪????


tzuchunchen1015@gmail.com (TCC)

學校 : 臺北市立第一女子高級中學
編號 : 93686
來源 : [140.112.217.12]
最後登入時間 :
2024-08-04 20:23:59
d768. 10004 - Bicoloring -- UVa10004 | From: [27.105.96.127] | 發表日期 : 2019-04-11 21:53

#0: 100% WA (line:103)

您的答案為: BICOLORABLE.

正確答案為: NOT BICOLORABLE.

#include <iostream>
#include <vector>
#include <cstring>
#include <queue>
using namespace std;
int main(int argc, char** argv) {

    int n,m,a,b,color[105];
    vector<int> v[205];
    while(cin>>n&&n){
        memset(color,-1,sizeof(color));
        for(int i=0;i<n;i++)v[i].clear();
        cin>>m;
        while(m--){
            cin>>a>>b;
            v[a].push_back(b);
            v[b].push_back(a);
        }
        bool bicoloring=1;
        queue<int> q;
        q.push(0);
        color[0]=1;
        while(!q.empty()&&bicoloring){
            int num=q.front(),l=v[num].size();
            q.pop();
            for(int i=0;i<l;i++){
                if(color[v[num][i]]!=-1){
                    if(color[v[num][i]]==color[num]){
                        bicoloring=0;
                        break;
                    }
                }
                else{
                    color[v[num][i]]=1-color[num];
                    q.push(v[num][i]);
                }
            }
    }
    if(bicoloring)cout<<"BICOLORABLE.\n";
    else cout<<"NOT BICOLORABLE.\n";
    }
    return 0;
}

 
ZeroJudge Forum