Cod sursa(job #2935655)

Utilizator IRadu1529Radu Ionescu IRadu1529 Data 7 noiembrie 2022 11:36:35
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
#include <fstream>
#include <queue>
#define N 100001
using namespace std;

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

int p[N], n, m, cod;

int find(int nod) {
    if (p[nod] == 0)
        return nod;

    p[nod] = find(p[nod]);
}

void Union(int x, int y) {
    int tx = find(x), ty = find(y);
    if (tx != ty) {
        if (cod == 2)
            fout << "NU\n";
        else p[ty] = tx;
    }
    else {
        if (cod == 2)
            fout << "DA\n";
    }
}

int main() {

    fin >> n >> m;

    for (int i = 0; i <= n; i++)
        p[i] = 0;

    while (m--) {
        int a, b;
        fin >> cod >> a >> b;
        Union(a, b);
    }
}