博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj 1703 Find them, Catch them (并查集)
阅读量:4956 次
发布时间:2019-06-12

本文共 806 字,大约阅读时间需要 2 分钟。

 
#include"stdio.h"int f[100005];int r[100005];void set(int n){
int i; for(i=1;i<=n;i++) {
f[i]=i;r[i]=0; }}int find(int x){
int t; if(x!=f[x]) {
t=f[x]; f[x]=find(f[x]); r[x]=(r[x]+r[t])%2; } return f[x];}void Union(int x,int y){
int xx,yy; xx=find(x); yy=find(y); f[xx]=yy; r[xx]=(r[x]+r[y])^1;}int main(){
int a,b,t,n,m,aa,bb; char s[3]; scanf("%d",&t); while(t--) {
scanf("%d%d",&n,&m); set(n); while(m--) {
scanf("%s%d%d",s,&a,&b); if(s[0]=='A') {
aa=find(a);bb=find(b); if(aa==bb&&r[a]!=r[b]) printf("In different gangs.\n"); else if(aa==bb&&r[a]==r[b]) printf("In the same gang.\n"); else printf("Not sure yet.\n"); } else Union(a,b); } } return 0;}

转载于:https://www.cnblogs.com/yyf573462811/archive/2012/07/31/6365308.html

你可能感兴趣的文章
【TP SRM 703 div2 500】 GCDGraph
查看>>
MapReduce 重要组件——Recordreader组件 [转]
查看>>
webdriver api
查看>>
apache 实现图标缓存客户端
查看>>
MediaWiki左侧导航栏通过特殊页面就可以设置。
查看>>
揭秘:黑客必备的Kali Linux是什么,有哪些弊端?
查看>>
linux系统的远程控制方法——学神IT教育
查看>>
springboot+mybatis报错Invalid bound statement (not found)
查看>>
Linux环境下SolrCloud集群环境搭建关键步骤
查看>>
P3565 [POI2014]HOT-Hotels
查看>>
MongoDB的简单使用
查看>>
hdfs 命令使用
查看>>
prometheus配置
查看>>
定宽320 缩放适配手机屏幕
查看>>
BZOJ 2120 数颜色 【带修改莫队】
查看>>
【noip2004】虫食算——剪枝DFS
查看>>
Codeforces 40 E. Number Table
查看>>
CLR via C#(第3 版)
查看>>
java语法之final
查看>>
关于响应式布局
查看>>