Cod sursa(job #871206)

Utilizator andreas_mihAndreas Mihaloianis andreas_mih Data 4 februarie 2013 16:20:52
Problema Paduri de multimi disjuncte Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<stdio.h>
#include<vector>
using namespace std;
FILE*in=fopen("disjoint.in","r");
FILE*out=fopen("disjoint.out","w");
int noduri,query,boss[100001];
int main()
{
    fscanf(in,"%d%d",&noduri,&query);
    for(int i=1;i<=noduri;++i)
        boss[i]=i;
     for(int i=0;i<query;++i)
    {
        int tip,nod1,nod2;
        fscanf(in,"%d",&tip);
        fscanf(in,"%d%d",&nod1,&nod2);
        if(tip==1)
        {
            if(boss[nod1]<boss[nod2])
                boss[nod2]=boss[nod1];
            else
                boss[nod1]=boss[nod2];

        }
        else
            if(boss[nod1]==boss[nod2])
                fprintf(out,"DA\n");
            else
                fprintf(out,"NU\n");
    }



fclose(in);
fclose(out);
return 0;
}