Cod sursa(job #2281347)

Utilizator pasoi_stefanPasoi Stefan pasoi_stefan Data 12 noiembrie 2018 08:27:44
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.69 kb
#include<fstream>
using namespace std;
ifstream cin("disjoint.in");
ofstream cout("disjoint.out");
struct nod{
    int info;
    nod *urm;
} *a[100005];
int n,m,cod,x,y;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        a[i]=new nod;
        a[i]->info=i;
        a[i]->urm=NULL;
    }
    while(m--){
        cin>>cod>>x>>y;
        if(cod==1){
            nod *p=a[x];
            while(p->urm) p=p->urm;
            p->urm=a[y];
        }
        else{
            nod *p1=a[x],*p2=a[y];
            while(p1->urm) p1=p1->urm;
            while(p2->urm) p2=p2->urm;
            if(p1->info==p2->info) cout<<"DA\n";
            else cout<<"NU\n";
        }
    }
}