Pagini recente » Cod sursa (job #694793) | Cod sursa (job #1606249) | Cod sursa (job #1040919) | Cod sursa (job #1700460) | Cod sursa (job #2945254)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
ifstream fin("disjoint.in");
ofstream fout ("disjoint.out");
void op1(vector<vector<int>>& multimi, int x, int y){
multimi[x].push_back(y);
for (int i = 1; i < multimi[y].size(); ++i) {
multimi[x].push_back(multimi[y][i]);
}
multimi[y].push_back(x);
for (int i = 1; i < multimi[x].size(); ++i) {
multimi[y].push_back(multimi[x][i]);
}
}
void op2(vector<vector<int>>& multimi, int x, int y){
int i;
for (i = 1; i < multimi[x].size(); ++i) {
if (multimi[x][i] == y){
fout<<"DA"<<endl;
break;
}
}
if (i == multimi[x].size())
fout<<"NU"<<endl;
}
int main() {
int n, m, cod, x, y;
vector<vector<int>> multimi;
vector<int> aux(1,0);
fin>>n>>m;
multimi.resize(n + 1, aux);
for (int i = 0; i < m; ++i) {
fin>>cod>>x>>y;
if (cod == 1){
op1(multimi, x, y);
}
else{
op2(multimi, x, y);
}
}
return 0;
}