Cod sursa(job #3215112)

Utilizator MesIsLifeMerfuDarrinGabriel MesIsLife Data 14 martie 2024 18:08:19
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <fstream>
using namespace std;
ifstream cin("disjoint.int");
ofstream cout("disjoint.out");
int n, C[501], m, op, x, y;
int main()
{
    cin >> n >> m;
    for(int i = 1; i <= n; ++i)
        C[i] = i;
    for(int i = 1; i <= m; ++i) {
        cin >> op >> x >> y;
        if(op == 1) {
            if(C[x] < C[y]) {
                int cy = C[y];
                for(int j = 1; j <= n; ++j)
                    if(C[j] == cy)
                        C[j] = C[x];
            }
            else {
                int cx = C[x];
                for(int j = 1; j <= n; ++j)
                    if(C[j] == cx)
                        C[j] = C[y];
            }
        }
        else
        {
            if(C[x]== C[y])
                cout<<"DA\n";
            else
                cout<<"NU\n";
        }
    }
    return 0;
}