Cod sursa(job #3229062)

Utilizator SkiboBogdan Cristian Skibo Data 13 mai 2024 17:04:09
Problema Paduri de multimi disjuncte Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
#include <climits>
#include <stack>

using namespace std;

ifstream fin("disjoint.in"); /// parc.in
ofstream fout("disjoint.out");
queue <int> q;
int n, m, c, x, y, vt[100001], a, b;

int main()
{
    fin>>n>>m;
    for(int i = 1; i<=m; i++)
    {
        fin>>c>>x>>y;
        if(c == 1)
        {
            a = x;
            b = y;
            while(vt[a] != 0)
                a = vt[a];
            while(vt[b] != 0)
                b = vt[b];
            vt[b] = a;
        }
        else
        {
            a = x;
            b = y;
            while(vt[a] != 0)
                a = vt[a];
            while(vt[b] != 0)
                b = vt[b];
            if(a == b)
                fout<<"DA"<<endl;
            else fout<<"NU"<<endl;
        }
    }

}