UVA10004 Bicoloring[水题 二分图判定(二染色)]

//可做模版

#include <algorithm>

#include <bitset>

#include <cassert>

#include <cmath>

#include <cstdio>

#include <cstdlib>

#include <cstring>

#include <deque>

#include <fstream>

#include <iostream>

#include <list>

#include <map>

#include <queue>

#include <set>

#include <sstream>

#include <stack>

#include <string>

#include <vector>


using namespace std;


#define pi acos(-1)

#define gcd(a,b) __gcd(a,b)

#define PB push_back

#define SIZE(x) (int)x.size()

#define clr(x,y) memset(x,y,sizeof(x))

#define MP(x,y) make_pair(x,y)

#define ALL(t) (t).begin(),(t).end()

#define FOR(i,n,m) for (int i = n; i <= m; i ++)

#define ROF(i,n,m) for (int i = n; i >= m; i --)

#define RI(x) scanf ("%d", &(x))

#define RII(x,y) RI(x),RI(y)

#define RIII(x,y,z) RI(x),RI(y),RI(z)



typedef long long ll;

typedef unsigned int uint;

typedef unsigned long long ull;


const ll mod = 1e9+7;

const int INF = 1e9;

const double EPS = 1e-8;


/**************************************END************************************/


vector<int>G[205];

int color[205];


bool bipartite(int u)

{

    for(int i=0;i<G[u].size();i++)

    {

        int v=G[u][i];

        if(color[v]==color[u])return false;

        if(!color[v])

        {

            color[v]=3-color[u];

            if(!bipartite(v))return false;

        }

    }

    return true;

}


int main()

{

    int n;

    while(~RI(n)&&n)

    {

        int t;

        RI(t);

        clr(color,0);

        for(int i=0;i<205;i++)

        {

            G[i].clear();

        }

        for(int i=0;i<t;i++)

        {

            int a,b;

            RII(a,b);

            G[a].push_back(b);

            G[b].push_back(a);

        }

        color[0]=1;

        if(bipartite(0))printf("BICOLORABLE.\n");

        else printf("NOT BICOLORABLE.\n");

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值