Cod sursa(job #2054837)

Utilizator Andrei243Nitu Mandel Andrei Andrei243 Data 2 noiembrie 2017 16:37:21
Problema Paduri de multimi disjuncte Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream a("disjoint.in");
    ofstream b("disjoint.out");
    int n,m;
    a>>n>>m;
    int tmic,tmare,maxim;
    int x,y,cod;
    int v[100000];
    for(int i=1;i<=100000;i++)v[i]=i;
    for(int i=1;i<=m;++i){
        a>>cod;
        if(cod&1){
            a>>x>>y;
            if(x>maxim)maxim=x;
            if(y>maxim)maxim=y;
            if(v[x]<v[y]){
                tmic=v[x];
                tmare=v[y];
            }
            else{
                tmic=v[y];
                tmare=v[x];
            }
            for(int j=1;j<=maxim;j++){
                if(v[j]==tmic)v[j]=tmare;

            }

        }
        else
        {
            if(v[x]==v[y])b<<"DA\n";
            else b<<"NU\n";
        }

    }


    return 0;
}