Cod sursa(job #2289093)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 24 noiembrie 2018 11:04:22
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
//
//  main.cpp
//  Disjoint
//
//  Created by Darius Buhai on 24/11/2018.
//  Copyright © 2018 Darius Buhai. All rights reserved.
//

#include <iostream>
#include <fstream>
using namespace std;

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

int n,m;
int dad[100001], h[100001];

int main() {
    fin>>n>>m;
    for(int i=0;i<m;i++)
    {
        int action, x, y;
        fin>>action>>x>>y;
        if(action==1){
            dad[y] = x;
            h[x]++;
        }
        else{
            int d1 = dad[x], d2 = dad[y];
            while(dad[d1]!=0)
                d1 = dad[d1];
            while(dad[d2]!=0)
                d2 = dad[d2];
            if(d1==y || d2==x)
                fout<<"DA\n";
            else
                fout<<"NU\n";
        }
    }
    
    return 0;
}