Pagini recente » Cod sursa (job #445367) | Cod sursa (job #1978171) | Cod sursa (job #2905721) | Cod sursa (job #52912) | Cod sursa (job #1560269)
#define nMax 100001
#include <fstream>
using namespace std;
ifstream x ("disjoint.in");
ofstream y ("disjoint.out");
struct struct1
{
int group;
struct1 *prev,*next;
};
int n,m;
struct1 *node[nMax],*temp,*current;
int main()
{
int i;
x>>n>>m;
for(i=1;i<=n;i++)
{
node[i]=new struct1();
node[i]->group=i;
}
int key,a,b;
for(i=0;i<m;i++)
{
x>>key;
x>>a>>b;
if(key==1)
{
temp=node[a];
while(temp->next)
temp=temp->next;
current=node[b];
while(current->prev)
current=current->prev;
temp->next=current;
current->prev=temp;
while(current)
{
current->group=node[a]->group;
current=current->next;
}
}
else
if(node[a]->group==node[b]->group)
y<<"DA\n";
else
y<<"NU\n";
}
return 0;
}