• UVA11396 Claw Decomposition(DFS)


    一道DFS题..

    不说了,说多了全是泪..

    // File Name: 11396.cpp
    // Author: Zlbing
    // Created Time: 2013/3/29 12:13:47
    
    #include<iostream>
    #include<string>
    #include<algorithm>
    #include<cstdlib>
    #include<cstdio>
    #include<set>
    #include<map>
    #include<vector>
    #include<cstring>
    #include<stack>
    #include<cmath>
    #include<queue>
    using namespace std;
    #define CL(x,v); memset(x,v,sizeof(x));
    #define INF 0x3f3f3f3f
    #define LL long long
    #define REP(i,r,n) for(int i=r;i<=n;i++)
    #define RREP(i,n,r) for(int i=n;i>=r;i--)
    const int MAXN=305;
    vector<int> G[MAXN];
    int vis[MAXN];
    int n;
    bool dfs(int u,int flag)
    {
        if(vis[u]>=0)
        {
            if(vis[u]==flag)
                return true;
            else return false;
        }
        vis[u]=flag;
        if(dfs(G[u][0],flag^1)&&dfs(G[u][1],flag^1)&&dfs(G[u][2],flag^1))
            return true;
        else return false;
    }
    int main()
    {
        while(~scanf("%d",&n))
        {
            if(n==0)break;
            REP(i,1,n)G[i].clear();
            int a,b;
            while(true)
            {
                scanf("%d%d",&a,&b);
                if(a==0&&b==0)break;
                G[a].push_back(b);
                G[b].push_back(a);
            }
            if(n&1)
            {
                puts("NO");
                continue;
            }
            CL(vis,-1);
            if(dfs(1,1))
                puts("YES");
            else puts("NO");
        }
        return 0;
    }
  • 相关阅读:
    Set和Map
    将博客搬至CSDN
    (转)VS制作安装包
    C#俄罗斯方块实现思路及源码
    ASP.NET网站部署过程
    2016百度之星资格赛总结
    数据库编程常见错误总结
    (转)Android 如何全局获取Context
    Android数据文件存储
    关于工程文档中图表的使用
  • 原文地址:https://www.cnblogs.com/arbitrary/p/2988769.html
Copyright © 2020-2023  润新知