Cod sursa(job #2002680)

Utilizator dumitrescu_andreiDumitrescu Andrei dumitrescu_andrei Data 20 iulie 2017 16:27:16
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("disjoint.in");
ofstream g("disjoint.out");

int n,m,a[100001];

int main()
{
    f>>n>>m;
    for(int i=1;i<=n;++i)
        a[i]=i;

    for(int i=1;i<=m;++i)
    {
        int z,x,y;
        f>>z>>x>>y;
        if(z==1)
        {
         if(a[x]!=a[y])
         {
             int minim=min(x,y),maxim=max(x,y);
             for(int j=1;j<=n;++j)
                if(a[j]==maxim)
                a[j]=minim;

         }
        }
        else if(z==2)
        {
          if(a[x]==a[y])
            g<<"DA"<<'\n';
          else
            g<<"NU"<<'\n';
        }

    }

}