poj1988
来源:互联网 发布:ubuntu 搜狗拼音 乱码 编辑:程序博客网 时间:2024/06/08 18:11
#include<iostream>#include<algorithm>#include<stdlib.h>#include<string.h>#include<math.h>#include<string>#include<vector>#include<queue>#include<list>using namespace std;typedef long long lld;typedef unsigned int ud;#define Inf INT_MAX/2//int最大#define Min(x,y) (x)<(y)?(x):(y)#define Max(x,y) (x)>(y)?(x):(y)#define MemsetMax(a) memset(a,100,sizeof a)#define MemsetZero(a) memset(a,0,sizeof a)#define MemsetMin(a) memset(a,-1,sizeof a)#define PQ priority_queue#define Q queue#define N 30002#define M 100002struct Node{int fa,dis,tot;}cube[N];int n,m;void Init(){for(int i=0;i<N;i++){cube[i].fa=i;cube[i].dis=0;cube[i].tot=1;}}int find(int x){if(cube[x].fa==x)return x;int temp=find(cube[x].fa);cube[x].dis+=cube[cube[x].fa].dis;return cube[x].fa=temp;}void move(int a,int b){int a_f=find(a);int b_f=find(b);cube[b_f].dis=cube[a_f].tot;cube[b_f].fa=a_f;cube[a_f].tot+=cube[b_f].tot;}int main(){int a,b;char ch;while(scanf("%d%*c",&n)!=EOF){Init();while(n--){scanf("%c%*c",&ch);if(ch=='M'){scanf("%d%d%*c",&a,&b);move(a,b);}else if(ch=='C'){scanf("%d%*c",&a);int fa=find(a);printf("%d\n",cube[fa].tot-cube[a].dis-1);}}}return 0;}
0 0
- POJ1988
- poj1988
- poj1988
- POJ1988 Cube Stacking
- POJ1988 Cube Stacking
- poj1988 Cube Stacking
- poj1988 cube stacking
- POJ1988 Cube Stacking
- POJ1988 Cube Stacking
- POJ1988-Cube Stacking
- 并查集(POJ1988)
- POJ1988->并查集
- POJ1988并查集
- POJ1988 Cube Stacking
- POJ1988(并查集)
- POJ1988——Cube Stacking
- POJ1988 并查集(3)
- poj1988——并查集
- 2014年度北京大学创业学分MOOC课程《企业家培育与创业的理论与实践》
- win7下安装SQLServer2005(转载F:http://www.cnblogs.com)
- 经典的分形算法
- Yii 中的数据库操作
- 构建自己的C/C++插件开发框架
- poj1988
- static在C/C++中的作用
- 为iPhone 6设计自适应布局
- jquery $.get() $.post 跨域请求cors解决方法
- BIND DLZ PostgreSQL
- 关于两个activity之间切换时传递数值的情况(基于上一篇切换情况下)
- Ubuntu 11 编译 linux-2.6内核 出错,给出部分编译问题解决方暗,新问题求解决
- 提高Interface Builder高效工作的8个技巧
- tomcat使用memcached完成集群(session共享实现方式)