1593.并查集(一)
时限:1000ms 内存限制:10000K 总时限:3000ms
描述
一个城市中有n个人,其中一些人是朋友关系,同时他们都认为:朋友的朋友是朋友,现在任给两个人,问他们是否是朋友关系。
输入
先输入两个正整数n和m(均小于1000),表示城市里有n个人,并且将给出m对朋友关系,接下来的m行每行给出两个0~n-1之间的整数,表示这两个人是朋友关系。
最后一行再输入两个0~n-1之间的整数,问他们是否是朋友关系。
输出
是朋友关系则输出"Yes",否则输出"No"。
#include <iostream>
using namespace std;
int a[1000]; //存储并查集
int n,m;
int fsearch(int x); //返回结点x的根节点
int main()
{
//输入数据
cin>>n>>m;
for(int i=0;i<n;i++)
{
a[i]=i; //初始时每个人只和自己做朋友
}
int x,y; //是朋友关系的两个人
int kx,ky; //根节点
for(int i=0;i<m;i++)
{
cin>>x>>y;
//cout<<x<<y;
kx=fsearc