并查集工具(菜鸟模板)

来源:互联网 发布:网络设计开发 编辑:程序博客网 时间:2024/05/22 12:09

#include<stdio.h>int find[100001];int Find(int a){  return find[a]==a?a:find[a]=Find(find[a]);//已经进行了压缩路径;} int main(){int i,x,n,m,a,b,c,d;while(scanf("%d%d%d",&n,&m,&x),(n!=0&&m!=0&&x!=0)){for(i=0;i<n+10;i++)find[i]=i;for(i=0;i<m;i++)     { scanf("%d%d",&a,&b); find[b]=a;     }     for(i=0;i<x;i++)     {  scanf("%d%d",&c,&d);  if(Find(c)==Find(d))  puts("YES");  else puts("NO");      }}}


0 0
原创粉丝点击