Mai intai trebuie sa te autentifici.
Cod sursa(job #2572669)
Utilizator | Data | 5 martie 2020 13:46:07 | |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | OJI 2020 | Marime | 0.54 kb |
#include<fstream>
using namespace std;
ifstream fin ("disjoint.in");
ofstream fout ("disjoint.out");
int n, m, t[100010];
int f (int a)
{
if (a==t[a])return a;
else
{
t[a]=f(t[a]);
return t[a];
}
}
int main ()
{
int i, c, x, y;
fin>>n>>m;
for (i=1; i<=n; i++)t[i]=i;
for (i=1; i<=m; i++)
{
fin>>c>>x>>y;
if (c==1)
t[f(x)]=f(y);
else
{
if (f(x)==f(y))fout<<"DA"<<'\n';
else fout<<"NU"<<'\n';
}
}
}