zoukankan      html  css  js  c++  java
  • poj1386欧拉回路的判定

    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    #include <algorithm>
    #include <cmath>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <map>
    #include <string>
    #include <iostream>
    using namespace std;
    int father[1000];
    int getfather(int x)
    {
        if(x!=father[x]) father[x]=getfather(father[x]);
        return father[x];
    }
    
    void add(int a,int b)
    {
        int fa=getfather(a);int fb=getfather(b);
        if(fa!=fb) father[fa]=fb;
    }
    int vis[111111];
    int out[100],in[1000];
    bool ok()
    {
        int one=0;int two=0;
        int sum=0;
        for(int i=0;i<26;i++)
            if(vis[i]) if(father[i]==i) sum++;
        if(sum>1) return false;
        for(int i=0;i<26;i++){
            if(in[i]-out[i]==1) one++;
            if(out[i]-in[i]==1) two++;
            if(out[i]==in[i]) continue;
            if(out[i]-in[i]>1||in[i]-out[i]>1) return false;
        }
        return ((one==1&&two==1)||(one==0&&two==0));//  return one <= 1 && two <= 1
    }
    int main()
    {
        int Icase;int n;
        int G[100][100];
        char str[2000];
        cin>>Icase;
        while(Icase--){
            for(int i=0;i<26;i++) father[i]=i;
            cin>>n;int ans=0;
            memset(in,0,sizeof(in));
            memset(out,0,sizeof(out));
            memset(G,0,sizeof(G));
            memset(vis,0,sizeof(vis));
            for(int i=0;i<n;i++){
                scanf("%s",str);int a=str[0]-'a';int len=strlen(str);int b=str[len-1]-'a';
                add(a,b);in[b]++;out[a]++;vis[a]=1;vis[b]=1;
            }
            if(ok()) cout<<"Ordering is possible."<<endl;
            else cout<<"The door cannot be opened."<<endl;
    
        }
        return 0;
    }
  • 相关阅读:
    20199108 2019-2020-2 《网络攻防实践》第8周作业
    20199108 2019-2020-2 《网络攻防实践》第7周作业
    攻防作业报告提交
    Spring整合HBase
    基于注解的Spring AOP示例
    Spring AOP基本概念
    在RichFaces中使用Facelets模板
    算法导论读书笔记(19)
    算法导论读书笔记(18)
    算法导论读书笔记(17)
  • 原文地址:https://www.cnblogs.com/yigexigua/p/3851204.html
Copyright © 2011-2022 走看看