题意:有几个stack,初始里面有一个cube。支持两种操作:1.move x y: 将x所在的stack移动到y所在stack的顶部。2.count x:数在x所在stack中,在x之下的cube的个数。

链接:点我

 /*
POJ 1988
*/
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
const int MAXN=;
int F[MAXN];
int num[MAXN];//堆的数目
int val[MAXN];//下面的个数
int find(int x)
{
if(F[x]==-)return x;
int tmp=find(F[x]);
val[x]+=val[F[x]];
return F[x]=tmp;
}
void bing(int u,int v)//将u所在的堆放在v上面,注意顺序
{
int t1=find(u),t2=find(v);
if(t1!=t2)
{
F[t1]=t2;
val[t1]=num[t2];
num[t2]+=num[t1];
}
}
int main()
{
int P;
int u,v;
char op[];
while(scanf("%d",&P)==)
{
for(int i=;i<MAXN;i++)
{
F[i]=-;
val[i]=;
num[i]=;
}
while(P--)
{
scanf("%s",&op);
if(op[]=='C')
{
scanf("%d",&u);
find(u);
printf("%d\n",val[u]);
}
else
{
scanf("%d%d",&u,&v);
bing(u,v);
}
}
}
return ;
}

最新文章

  1. _ATTRIBUTE__ 你知多少?
  2. jQuery.cookie
  3. .NET面试题大全,包括微软、华为、中兴等大企业的面试真题
  4. Angular.js 学习笔记
  5. verilog简易实现CPU的Cache设计
  6. 【转】使用Python的IDE:Eclipse+PyDev
  7. SQL获取数据库名,表名,列名,说明等信息
  8. JS判断移动设备最佳方法
  9. Find security bugs学习笔记V1.0
  10. 第二章:开始开发mod前你需要知道的一些事情
  11. 兼容IE与firefox火狐的回车事件(js与jquery)
  12. Sublime Text 添加到右键菜单 带菜单图标
  13. LinearLayout遇到的问题——利用LinearLayout做横向滑动冲突
  14. jquery知识点积累
  15. Visual Studio 必备神器---转
  16. vc 按钮自绘
  17. 详细分析LoadRunner参数化
  18. Windows安裝PHP環境
  19. [UE4]Window Title Bar Area
  20. JavaScript大杂烩7 - 理解内置集合

热门文章

  1. A .Gaby And Addition (Gym - 101466A + 字典树)
  2. cookie 跨域的问题
  3. C语言回调函数总结
  4. 使用 Xtrabackup 在线对MySQL做主从复制【转】
  5. openjudge-NOI 2.6-1996 登山
  6. selenium滚动到顶部与底部
  7. Maven核心概念
  8. Oracle常用sql语句(三)之子查询
  9. 5.rabbitmq 主题
  10. csu 1547(01背包)