Pagini recente » Cod sursa (job #601580) | Cod sursa (job #348025) | Cod sursa (job #1332481) | Cod sursa (job #1809155) | Cod sursa (job #2648296)
#include <iostream>
#include <fstream>
#include <vector>
#define NMax 100001
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n, father[NMax];
int find2(int a){
if (father[a] == a)
return a;
return find2(father[a]);
}
void unionOf(int a, int b){
father[find2(a)] = find2(b);
}
void findOf(int a, int b){
if (find2(a) == find2(b))
g <<"YES\n";
else
g << "NU\n";
}
void read(){
int m;
f >> n >> m;
for (int i=1; i<=n; i++)
father[i] = i;
int a,b,c;
for (int i=1; i<=m; i++){
f >> a >> b >> c;
if (a == 1)
unionOf(b,c);
else
findOf(b,c);
}
}
int main()
{
read();
return 0;
}