Pagini recente » Cod sursa (job #3226210) | Cod sursa (job #945734) | Cod sursa (job #320661) | Cod sursa (job #2275723) | Cod sursa (job #3131301)
#include<bits/stdc++.h>
#define mare 1e9
#define mod 998244353
#define FAST ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
using namespace std;
ifstream fin("disjoint.in");
ofstream fout("disjoint.out");
long long int T,n,m,k,i,j,aux,a,b,minn,contor,suma,poz;
int v[200005],rad[100005],card[100005];
void unire(int x, int y)
{
if(card[x]<card[y])
swap(x,y);
rad[y]=x;
card[x]+=card[y];
}
int cautare(int x)
{
if(rad[x]==x)
return x;
rad[x]=cautare(rad[x]);
return rad[x];
}
int main()
{
FAST
fin>>n>>m;
for(i=1;i<=n;i++)
{
rad[i]=i;
card[i]=1;
}
for(i=1;i<=m;i++)
{
fin>>T>>a>>b;
if(T==1)
{
unire(cautare(a),cautare(b));
}
if(T==2)
{
if(cautare(a)==cautare(b))
{
fout<<"DA\n";
}
else
fout<<"NU\n";
}
}
return 0;
}