zoukankan      html  css  js  c++  java
  • 二分图染色

    题目链接

    https://codeforces.com/problemset/problem/1144/F

    代码

    #include<cstdio>
    #include<cstring>
    #include<algorithm>
    #include<iostream>
    #include<string>
    #include<vector>
    #include<stack>
    #include<bitset>
    #include<cstdlib>
    #include<cmath>
    #include<set>
    #include<list>
    #include<deque>
    #include<map>
    #include<queue>
    using namespace std;
    #define ll long long
    const int MAXN=2E5+10; 
    vector<int> G[MAXN];
    int V,E;
    int color[MAXN],s[MAXN],t[MAXN];
    bool dfs(int v,int c)
    {
        color[v]=c;
        for(int i=0;i<G[v].size();i++)
        {
            if(color[G[v][i]]==c)
            return false;
            if(color[G[v][i]]==0&&!dfs(G[v][i],-c))
            return false;
        }
        return true;
    }
    int main()
    {
        scanf("%d%d",&V,&E);
        memset(color,0,sizeof(color));
        for(int i=0;i<E;i++)
        {
            scanf("%d%d",&s[i],&t[i]);
            G[s[i]].push_back(t[i]);
            G[t[i]].push_back(s[i]);
        }
        for(int i=1;i<=V;i++)
        {
            if(color[i]==0)
            {
                if(!dfs(i,1))
                {
                    printf("NO
    ");
                    return 0;
                }
            }
        }
        printf("YES
    ");
        for(int i=0;i<E;i++)
        {
            if(color[s[i]]==1&&color[t[i]]==-1)
            cout<<"1";
            else
            cout<<"0";
        }
        return 0;
    }
  • 相关阅读:
    第八章 路由器交换机及其操作系统的介绍
    k-Tree DP计数
    Drop Voicing 最长升序
    高精度
    1196D2
    C
    POJ 3974 马拉车
    2020.8.1第二十六天
    2020.7.31第二十五天
    每日日报
  • 原文地址:https://www.cnblogs.com/hh13579/p/11235154.html
Copyright © 2011-2022 走看看