讨论 / 太水了,并查集基本算法,C语言AC代码奉上
354118677 2012-02-11 08:43:00
点我顶贴 收藏 删除
#include <stdio.h>

#include <stdlib.h>

int father[5001];

int find_father(int x)

{

if(father[x]!=x) father[x]=find_father(father[x]);

else return father[x];

}

void merge(int x,int y)

{

x=find_father(x);

y=find_father(y);

if(x!=y) father[y]=x;

else return;

}

int main(int argc, char *argv[])

{

int n,m,p,i,mi,mj,pi,pj;

scanf("%d%d%d",&n,&m,&p);

for(i=1;i<=n;i++)

father[i]=i;

for(i=0;i<m;i++)

{

scanf("%d%d",&mi,&mj);

merge(mi,mj);

}

for(i=0;i<p;i++)

{

scanf("%d%d",&pi,&pj);

if(find_father(pi)==find_father(pj)) printf("Yes\n");

else printf("No\n");

}

system("PAUSE");

return 0;

}

#1 354118677@2012-02-11 08:43:00
回复 删除
没人回,我自己沙发。。。

没人回,我自己沙发。。。

查看更多回复
提交回复