PersonalCorpus 版 (精华区)

1233892 Big Guava ... 10004 Accepted
0:00.004 64 2002/11/13 09:42:19.040

void main()
{
#ifndef ONLINE_JUDGE
    freopen("k:\\uva\\i10004","r",stdin);
    freopen("k:\\uva\\o10004","w",stdout);
#endif

    int i,j,k,t,n;
    bool dl[200][200],ok;
    int path[200];
    char color[200];

    while (1) {
        scanf("%d\n",&n);
        if (n==0) break;
        scanf("%d\n",&t);
        memset(dl,0,sizeof(dl));
        while (t--) {
            scanf("%d%d\n",&i,&j);
            dl[i][j]=dl[j][i]=true;
        }
        memset(color,0,sizeof(color));
        path[0]=0; color[0]=1;
        i=0;j=1; ok=true;
        while (i<j) {
            for (k=0;k<n;k++) if (dl[path[i]][k]){
                if (color[k]==0) {
                    path[j]=k;
                    color[k]=3-color[path[i]];
                    j++;
                } else if (color[k]==color[path[i]]) {
                    ok=false;
                    break;
                }
            }
            if (ok) i++; else break;
        }
        if (ok) printf("BICOLORABLE.\n");
            else printf("NOT BICOLORABLE.\n");
    }
}
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.776毫秒