Cod sursa(job #2063910)
| Utilizator | Data | 11 noiembrie 2017 16:42:24 | |
|---|---|---|---|
| Problema | Paduri de multimi disjuncte | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
freopen("disjoint.in", "r", stdin);
freopen("disjoint.out", "w", stdout);
int x,y,op,r[100000]={0},n,m;
bool ok;
cin>>n>>m;
for(int i=1; i<=m; i++)
{
scanf("%d %d %d \n",&op, &x, &y);
if(op==1)
{
if(r[x]==0)
r[x]=x;
r[y]=x;
for(int i=1; i<=n; i++)
if(r[i]==y)
r[i]=x;
}
else
{
if(r[x]==r[y])
printf("DA \n");
else
printf("NU \n");
}
}
return 0;
}
