POJ 1988

时间:2023-03-09 02:39:47
POJ 1988
#include<iostream>
#include<stdio.h>
#include<algorithm>
#define MAXN 30005
using namespace std; int place[MAXN];
int up[MAXN];
int pre[MAXN]; void init()
{
int i;
for(i = ; i < MAXN; ++ i)
{
pre[i] = i;
up[i] = ;
place[i] = ;
}
} int find_pre(int s)
{
int k;
k = pre[s];
if(k != s)
{
pre[s] = find_pre(k);
up[s] += up[k];
}
return pre[s];
} void comb(int a,int b)
{
a = find_pre(a);
b = find_pre(b);
pre[b] = a;
up[b] = place[a];
place[a] += place[b];
} int main()
{
//freopen("acm.acm","r",stdin);
int p;
int i;
int j;
int t;
int a;
int b;
char c;
init();
scanf("%d",&p);
for(t = ; t < p; ++ t)
{
cin>>c;
if(c == 'M')
{
scanf("%d%d",&a,&b);
///-- a;
//-- b;
comb(a,b);
}
if(c == 'C')
{
scanf("%d",&a);
//-- a;
b = find_pre(a);
cout<<place[b] - up[a] - <<endl;
}
} }

关注我的公众号,当然,如果你对Java, Scala, Python等技术经验,以及编程日记,感兴趣的话。

POJ 1988

技术网站地址: vmfor.com