Cod sursa(job #881042)

Utilizator Claudiu95Vartolomei Alexandru Claudiu Claudiu95 Data 17 februarie 2013 17:33:24
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int i,op,e1,e2,t[100002],nr[100002],n,m,nr1,nr2,j;
	
int main(){
	f>>n>>m;
	for(i=1;i<=n;++i){
		t[i]=i;
		nr[i]=1;
	}
	for(i=1;i<=m;++i){
		f>>op>>e1>>e2;
		if(op==1){
			
			++nr1;
			if(nr[e1]>nr[e2]){
				t[e2]=t[e1];
				nr[e1]+=nr[e2];
			}
			else{
				nr[e2]+=nr[e1];
				t[e1]=t[e2];
			}
			
		}
		else{
			++nr2;
			if(t[e1]==t[e2]){
					g<<"DA"<<endl;
				}
				else
					g<<"NU"<<endl;
		}
	}
	return 0;
}