hihocoder#1066 : 无间道之并查集
2015-07-13 21:19
253 查看
这题是string类型的数据,以前做的都是int类型的,改变了一下,很容易想到用map。
点击打开链接
点击打开链接
#include<map> #include<vector> #include<cstdio> #include<iostream> #include<cstring> #include<string> #include<algorithm> #include<cmath> #include<stack> #include<queue> #include<set> #define inf 0x3f3f3f3f #define mem(a,x) memset(a,x,sizeof(a)) using namespace std; typedef long long ll; typedef pair<int,int> pii; inline int in() { int res=0;char c; while((c=getchar())<'0' || c>'9'); while(c>='0' && c<='9')res=res*10+c-'0',c=getchar(); return res; } map<string,string> mp; string find(string x) { if(mp[x]=="")return x; //根节点都是为空的 return mp[x]=find(mp[x]); } int main() { int n=in(); string t1,t2; for(int i=0;i<n;i++) { int q=in(); cin>>t1>>t2; if(q==0) { t1=find(t1),t2=find(t2); if(t1!=t2) { mp[t1]=t2; } } else { t1=find(t1),t2=find(t2); if(t1!=t2) { puts("no"); } else puts("yes"); } } return 0; }
相关文章推荐
- Python读写文件
- 菜鸟vimer成长记——第1章、统一概念
- Volley框架下发送和读取Cookie
- 基本数据结构之堆
- 线段树多lazy-tag(两个)
- 列表生成式
- linux find命令小结
- 敏捷宣言
- CSU 1506 Double Shortest Paths(最小费用流)
- 继承关系与接口
- CPU/PSU补丁安装详细教程
- UVA - 1382 Distant Galaxy
- java内存分配
- 25个让Java程序员更高效的Eclipse插件
- Android短彩信收件人的实现
- 25个让Java程序员更高效的Eclipse插件
- MongoDB的简介与安装
- [leetcode] 150.Evaluate Reverse Polish Notation
- leetcode 68 :Text Justification
- RTTI(一) 枚举