Cod sursa(job #612786)
| Utilizator | Data | 10 septembrie 2011 06:45:47 | |
|---|---|---|---|
| Problema | Paduri de multimi disjuncte | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <fstream>
#include <cstring>
#define TSize 100001
using namespace std;
ifstream in;
ofstream out;
int T[TSize];
int main()
{
int M,N,cod,x,y,aux;
memset(T,0,sizeof(T));
in.open("disjoint.in");
out.open("disjoint.out");
in>>N>>M;
for(int i=1;i<=N;++i) T[i]=i;
for(;M--;)
{
in>>cod>>x>>y;
if(cod==1)
{
aux=T[x];
T[x]=T[y];
T[aux]=T[y];
}
else (T[x]==T[y]) ? out<<"DA\n" : out<<"NU\n";
}
in.close();
out.close();
return 0;
}
