Pagini recente » Cod sursa (job #1933980) | Cod sursa (job #2892600) | Cod sursa (job #2181105) | Cod sursa (job #2270632) | Cod sursa (job #1333197)
#include <iostream>
#include <stdio.h>
#include <vector>
using namespace std;
vector <int> s[100010];
int n,m;
void rezolvare1(int x,int y)
{
s[x].push_back(y);
for(int i=0;i<s[y].size();i++)
{
s[x].push_back(s[y][i]);
s[s[y][i]].clear();
s[s[y][i]].push_back(x);
}
s[y].clear();
s[y].push_back(x);
}
void rezolvare2(int x, int y)
{
if(s[x][0]==y ||s[y][0]==x || s[x][0] == s[y][0])
{
printf("DA\n");
return;
}
printf("NU\n");
return;
}
void citire()
{
freopen("disjoint.in","r",stdin);
scanf("%d %d",&n,&m);
for(int i=0;i<m;i++)
{
int t,a,b;
scanf("%d %d %d",&t,&a,&b);
if(t==1)
rezolvare1(b,a);
else
rezolvare2(a,b);
}
}
int main()
{
freopen("disjoint.out","w",stdout);
citire();
return 0;
}