uva10158
来源:互联网 发布:网络理财诈骗案 编辑:程序博客网 时间:2024/05/01 18:09
题意:给你N个人,他们之间有的是敌人,有的是朋友,让你判断给定的两个人是敌人还是友人。
方法:创建对立面,x1和y1是友人,则设计x2和y2是敌人,然后在进行判断:如果x1=y1说明是友人,如果x1=y2说明是敌人
//#include<iostream>#include<algorithm>#include<cstdio>#define max 11111*2using namespace std;int far[max];void init(int m){ for(int i=0; i<m; i++) far[i]=i;}int find_set(int x){ if(x==far[x]) return x; far[x]=find_set(far[x]); return far[x];}int main(){ int T; int c,a,b; int x1,x2,y1,y2; scanf("%d",&T); init(T*2); while(scanf("%d%d%d",&a,&b,&c)) { if(a+b+c==0) break; x1=find_set(b); x2=find_set(b+T); y1=find_set(c); y2=find_set(c+T); if(a==1) { if(x1==y2) { printf("-1\n"); continue; } far[x1]=y1; far[x2]=y2; } if(a==2) { if(x1==y1) { printf("-1\n"); continue; } far[x1]=y2; far[x2]=y1; } if(a==3) { if(x1==y1) printf("1\n"); else printf("0\n"); } if(a==4) { if(x1==y2) printf("1\n"); else printf("0\n"); } } return 0;}
- uva10158
- UVA10158- War
- UVa10158 War
- 并查集+uva10158
- uva10158(并查集)
- uva10158(并查集)
- uva10158(War)并查集
- UVA10158 - War(并查集)
- UVa10158 War(并查集)
- UVa10158 War(并查集)
- uva10158 - War 并查集判断同伙的两种方法
- javascript数组的方法
- POJ-1001 Exponentiation 高精度
- poj 3390 DP
- [88]Merge Sorted Array
- 【技术类】【且听我说“镶嵌数据集”】10、镶嵌数据集影像管理与应用示例(完)
- uva10158
- DLL的灾难---DEBUG与RELEASE版本不能交叉调用
- js xml实现全国地区级联(Firefox IE Chrome)
- Python完全新手教程
- JS关闭窗口不提示或JS关闭页面的几种方法
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面 .相机.录影机....
- 如何:对 DataGridView 控件中的数据进行排序
- [Latex]利用animate和tikz宏包绘制流程图的动画
- 26 Customization of UI Controls javafx