데이터 구조 및 HDU 1321 검색

691 단어 데이터 구조
#include 
#include 
#include 
using namespace std;
#define N 1010
int bin[N];
int n,m;
int findx(int x)
{
	int r=x;
	while(bin[r] != r)
		r=bin[r];
	return r;
}

void join(int x,int y)
{
	int fx,fy;
	fx= findx(x);
	fy= findx(y);
	if(fx!=fy)
		bin[fx]=fy;
}

int main()
{
	int i,j;
	int x,y;
	int fx,fy;
	while(cin>>n>>m,n)//n     m  
	{
		//    
		for(i=1;i<=n;i++)
			bin[i]=i;// 1  2  3
		//                     
		for(i=1;i<=m;i++)
		{
			cin>>x>>y;   
			join(x,y);
		}
		int count=-1;
		for(i=1;i<=n;i++)
			if(bin[i]==i)
				count++;
		cout<

좋은 웹페이지 즐겨찾기