Cod sursa(job #3229060)
| Utilizator | Data | 13 mai 2024 16:57:50 | |
|---|---|---|---|
| Problema | Paduri de multimi disjuncte | Scor | 10 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.69 kb |
#include <iostream>
#include <fstream>
#include <queue>
#include <vector>
#include <climits>
#include <stack>
using namespace std;
ifstream fin("disjoint.in"); /// parc.in
ofstream fout("disjoint.out");
queue <int> q;
int n, m, c, x, y, vt[100001], a, b;
int main()
{
fin>>n>>m;
for(int i = 1; i<=m; i++)
{
fin>>c>>x>>y;
if(c == 1)
vt[x] = y;
else
{
a = x;
b = y;
while(vt[a] != 0)
a = vt[a];
while(vt[b] != 0)
b = vt[b];
if(a == b)
fout<<"DA"<<endl;
else fout<<"NU"<<endl;
}
}
}
