Cod sursa(job #2373438)

Utilizator RazvanGutaGuta Razvan Alexandru RazvanGuta Data 7 martie 2019 13:29:38
Problema Paduri de multimi disjuncte Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include<bits/stdc++.h>
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int v[100001],i,n,m,cod,x,y,j,pas;
vector <int> G[100001];
void dfs(int nod)
{
    v[nod]=pas;
    for(int i=0;i<G[nod].size();i++)
    {
        if(v[G[nod][i]]!=pas)
        {
            v[G[nod][i]]=pas;
            dfs(G[nod][i]);
        }
    }
}
int main ()
{
   f>>n>>m;
   for(i=1;i<=m;i++)
   {
       f>>cod>>x>>y;
       if(cod==1)
       {
           G[x].push_back(y);
           G[y].push_back(x);
       }
       else
       {
           pas++;
           dfs(x);
           if(v[y]==pas)
            g<<"DA"<<'\n';
           else
            g<<"NU"<<'\n';
       }
   }
   return 0;
}