Pagini recente » Cod sursa (job #674923) | Cod sursa (job #582100) | Cod sursa (job #484086) | Cod sursa (job #711116) | Cod sursa (job #780255)
Cod sursa(job #780255)
#include <fstream>
#include <list>
#define MAXN 100005
using namespace std;
ifstream f("disjoint.in");
ofstream g("disjoint.out");
int n,m,cm[MAXN],a,b,tip;
list<int> multime[MAXN];
list<int>::iterator it;
int main()
{
int i;
f>>n>>m;
for(i=1;i<=n;i++){
multime[i].push_back(i);
cm[i]=i;}
for(i=1;i<=m;i++){
f>>tip>>a>>b;
if(tip==2)
g<<((cm[a]==cm[b])?"DA\n":"NU\n");
else{
for(it=multime[b].begin();it!=multime[b].end();it++)
cm[*it]=a;
multime[a].splice(multime[a].end(),multime[b]);}}
f.close();
g.close();
return 0;
}