poj 抓小偷

编程入门 行业动态 更新时间:2024-10-25 18:25:37

poj <a href=https://www.elefans.com/category/jswz/34/1706576.html style=抓小偷"/>

poj 抓小偷

类似食物链 比食物链简单

#include <stdio.h>
#define MAX 100010
int par[MAX];
int kin[MAX];
void Init(int n)
{	for (int i = 1;i <= n;i++){par[i] = i;kin[i] = 0;}
}
void Union(int xroot,int yroot,int x,int y){par[yroot] = xroot;kin[yroot] = ~(kin[x]^kin[y]);	
}
int Find(int x){if(par[x]==x)return x;int temp = par[x];par[x] = Find(temp);kin[x] = kin[x]^kin[temp];return par[x];
}
int main(){int n,k,t,x,y;char o;scanf("%d",&t);while(t--){scanf("%d%d\n",&n,&k);	Init(n);while (k--){scanf("%c %d %d\n",&o,&x,&y);int xroot = Find(x);int yroot = Find(y);if(o=='A'){if(n==2) printf("In different gangs.\n");else{if (xroot==yroot){if(kin[x]!=kin[y])printf("In different gangs.\n");elseprintf("In the same gang.\n");}else{	printf("Not sure yet.\n");}}}else{Union(xroot,yroot,x,y);}}}
}


更多推荐

poj 抓小偷

本文发布于:2024-02-27 12:46:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1706577.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:抓小偷   poj

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!