zoukankan      html  css  js  c++  java
  • 1080. Map Coloring 夜

    http://acm.timus.ru/problem.aspx?space=1&num=1080

    dfs 水题不解释

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    
    #define LL long long
    
    using namespace std;
    
    const int N=103;
    int head[N];
    struct node
    {
        int j,next;
    }side[N*N];
    int I;
    int ans;
    int color[N];
    void build(int i,int j)
    {
        side[I].j=j;
        side[I].next=head[i];
        head[i]=I++;
    }
    
    void dfs(int x,int k)
    {
        if(color[x]!=-1)
        {
            if(color[x]!=k)
            ans=-1;
            return ;
        }
        color[x]=k;
        for(int t=head[x];t!=-1;t=side[t].next)
        {
            int l=side[t].j;
            dfs(l,(k?0:1));
            if(ans==-1)
            return ;
        }
    }
    int main()
    {
        //freopen("data.txt","r",stdin);
        int n;
        while(scanf("%d",&n)!=EOF)
        {
            memset(head,-1,sizeof(head));
            I=0;
            for(int i=1;i<=n;++i)
            {
                int j;
                while(scanf("%d",&j),j)
                {
                    build(i,j);
                    build(j,i);
                }
            }
            ans=0;
            memset(color,-1,sizeof(color));
            dfs(1,0);
            if(ans==-1)
            {printf("-1\n");continue;}
            for(int i=1;i<=n;++i)
            printf("%d",color[i]);
            printf("\n");
        }
        return 0;
    }
    
  • 相关阅读:
    CSS的扩展less和sass
    html5小游戏基础知识
    htm5拖放和画布
    htm5
    并查集模板
    二叉树的建树
    kmp的书写
    贪心算法
    容器
    POJ2442 优先队列
  • 原文地址:https://www.cnblogs.com/liulangye/p/2682048.html
Copyright © 2011-2022 走看看