Cod sursa(job #2912432)
Utilizator | Data | 8 iulie 2022 12:44:44 | |
---|---|---|---|
Problema | Paduri de multimi disjuncte | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.31 kb |
#include <fstream>
using namespace std;
int n,m,q[100001];
ifstream i("disjoint.in");
ofstream o("disjoint.out");
int p(int n)
{
while(q[n]){n=q[n];}
return n;
}
int main()
{
int t,x,y;
i>>n>>m;
while(m--){i>>t>>x>>y;if(t==1) q[p(y)]=p(x);else if(p(x)==p(y)) o<<"DA\n";else o<<"NU\n";}
return 0;
}