Cod sursa(job #3195872)

Utilizator Iustin2812Ion Iustin Ciprian Iustin2812 Data 21 ianuarie 2024 22:20:15
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;

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

vector <int> l[101];
int n,m;
int tata[101];

void init0(){
    for(int i=1;i<=n;i++)
        tata[i]=-1;
}
int find(int node){
    if(tata[node]==-1)
        return node;
    int root=find(tata[node]);
    tata[node]=root;
    return node;
}

int main() {
    fin>>n>>m;
    int x,y,z;
    for(int i=1;i<=m;i++){
        fin>>x>>y>>z;
        if(x==1){
            if(find(y)!=find(z))
                tata[y]=z;
        }
        else{
            if(find(y)==find(z))
                fout<<"DA";
            else
                fout<<"NU";
            fout<<endl;
        }
    }
    return 0;
}