Cod sursa(job #2935623)

Utilizator urluconceptualCiocan Alexandra-Diana urluconceptual Data 7 noiembrie 2022 10:25:43
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
#include <vector>

using namespace std;

vector<int> tata;
int n, m, cod, x, y;

void radacina() {
    while (tata[x] != 0)
        x = tata[x];
    
    while (tata[y] != 0)
        y = tata[y];
}

int main()
{
    ifstream fin("disjoint.in");
    ofstream fout("disjoint.out");

    fin >> n >> m;
    tata.resize(n+1, 0);
    //for (int i = 0; i < n; i++)
    //    tata[i] = i;

    while (m > 0) {
        fin >> cod >> x >> y;
        radacina();
        if (cod == 1)
            tata[x] = y;
        else
            if (x == y)
                fout << "DA\n";
            else
                fout << "NU\n";
        m--;
    }

    fin.close();
    fout.close();
    return 0;
}