UVA 10129 Play on Words
2018-04-02 09:58
429 查看
#include<bits/stdc++.h> using namespace std; int t,l,n,i,ok,root,bin[26],bout[26],fat[26]; int find(int x){ if(fat[x]!=x)return fat[x]=find(fat[x]); return x; } string s; int main(){ scanf("%d",&t); while(t--){ scanf("%d",&n); memset(bin,0,sizeof(bin)); memset(bout,0,sizeof(bout)); for(i=0;i<26;i++) fat[i]=i; for(i=1;i<=n;i++){ cin>>s; int q=s[0]-'a'; int p=s[s.size()-1]-'a'; bin[q]++; bout[p]++; int x=find(q); int y=find(p); fat[x]=y; } l=0; ok=1; root=-1; for(i=0;i<26;i++) if(bin[i]||bout[i]){ if(abs(bin[i]-bout[i])==1)l++; else if(bin[i]!=bout[i]){ ok=0; break; } if(root==-1)root=find(i); if(find(i)!=root){ ok=0; break; } } if((l==0||l==2)&&ok)puts("Ordering is possible."); else puts("The door cannot be opened."); } return 0; }
相关文章推荐
- uva 10129 Play on Words
- UVA - 10129 Play on Words
- HDU 1116 && UVA 10129 && POJ 1386 ------ Play on Words(欧拉路径 + 并查集)
- UVA10129 Play on Words【思路】
- Play on Words - UVa 10129 欧拉回路
- UVa 10129 Play on Words ( euler path )
- UVa 10129 & HDU 1116 & POJ 1386 - Play on Words
- UVA 10129 Play on Words
- UVA - 10129 Play on Words(欧拉回路+并查集)
- UVa-10129 - Play on Words
- uva 10129 Play On Words(并查集法和DFS法)
- UVa10129 Play on Words
- Uva 10129 Play on Words(欧拉路)
- UVA 10129 - Play on Words
- uva 10129 - Play on Words
- Uva - 10129 - Play on Words
- UVa 10129 - Play on Words
- UVA-10129 Play on Words
- uva 10129 Play On Words(单词)求欧拉回路或欧拉通路
- Uva - 10129 - Play on Words