Cod sursa(job #2174121)

Utilizator racheriunicolaechowchow racheriunicolae Data 16 martie 2018 10:51:22
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <fstream>

using namespace std;
int d[100005];
int str(int x)
{
    if(x==d[x])return x;
    return d[x]=str(d[x]);
}
int n,m,i,q,z,a,b;
int main()
{
    ifstream fin("disjoint.in");
    ofstream fout("disjoint.out");
    fin>>n>>m;
    for(i=1;i<=n;i++)
        d[i]=i;
    for(q=1;q<=m;q++)
    {
        fin>>z>>a>>b;
        if(z==1)
        {
            d[str(a)]=str(b);
        }
        else
        {
            if(str(a)==str(b))fout<<"DA\n";
            else fout<<"NU\n";
        }
    }
    return 0;
}