Cod sursa(job #3248398)

Utilizator DunareTanasescu Luca-Ioan Dunare Data 11 octombrie 2024 16:42:37
Problema Paduri de multimi disjuncte Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int v[100001];
int main()
{
    int n,m;
    f>>n>>m;
    for(int i=1;i<=n;i++)
        v[i]=i;
    for(int i=1;i<=m;i++)
    {
        int caz,x,y;
        f>>caz>>x>>y;
        if(caz==1){
            while(v[x]!=x){x=v[x];}
            v[y]=x;
        }
        else if(caz==2){

            while(v[x]!=x){x=v[x];}
            while(v[y]!=y){y=v[y];}
            if(x==y)g<<"DA\n";
            else g<<"NU\n";
        }

    }
    return 0;
}