POJ 1988 Cube Stacking
来源:互联网 发布:淘宝店铺模版怎么修改 编辑:程序博客网 时间:2024/06/06 06:29
Description
Farmer John and Betsy are playing a game with N (1 <= N <= 30,000)identical cubes labeled 1 through N. They start with N stacks, each containing a single cube. Farmer John asks Betsy to perform P (1<= P <= 100,000) operation. There are two types of operations:
moves and counts.
* In a move operation, Farmer John asks Bessie to move the stack containing cube X on top of the stack containing cube Y.
* In a count operation, Farmer John asks Bessie to count the number of cubes on the stack with cube X that are under the cube X and report that value.
Write a program that can verify the results of the game.
moves and counts.
* In a move operation, Farmer John asks Bessie to move the stack containing cube X on top of the stack containing cube Y.
* In a count operation, Farmer John asks Bessie to count the number of cubes on the stack with cube X that are under the cube X and report that value.
Write a program that can verify the results of the game.
Input
* Line 1: A single integer, P
* Lines 2..P+1: Each of these lines describes a legal operation. Line 2 describes the first operation, etc. Each line begins with a 'M' for a move operation or a 'C' for a count operation. For move operations, the line also contains two integers: X and Y.For count operations, the line also contains a single integer: X.
Note that the value for N does not appear in the input file. No move operation will request a move a stack onto itself.
* Lines 2..P+1: Each of these lines describes a legal operation. Line 2 describes the first operation, etc. Each line begins with a 'M' for a move operation or a 'C' for a count operation. For move operations, the line also contains two integers: X and Y.For count operations, the line also contains a single integer: X.
Note that the value for N does not appear in the input file. No move operation will request a move a stack onto itself.
Output
Print the output from each of the count operations in the same order as the input file.
Sample Input
6M 1 6C 1M 2 4M 2 6C 3C 4
Sample Output
102
Source
USACO 2004 U S Open
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
并查集~
和银河英雄传说很像,就是记录的前后值反了一下:http://blog.csdn.net/senyelicone/article/details/52270000~
#include<cstdio>#include<cstring>int p,fa[30001],fro[30001],las[30001],x,y;char s[2];int findd(int u){if(fa[u]==u) return u;int kkz=findd(fa[u]);fro[u]+=fro[fa[u]];return fa[u]=kkz;}void add(int u,int v){int kkz1=findd(u),kkz2=findd(v);fa[kkz1]=kkz2;fro[kkz1]=las[kkz2];las[kkz2]+=las[kkz1];}int main(){scanf("%d",&p);for(int i=1;i<=30000;i++) fa[i]=i,las[i]=1,fro[i]=0;while(p--){scanf("%s",s);if(s[0]=='M'){scanf("%d%d",&x,&y);add(x,y);}else{scanf("%d",&x);findd(x);printf("%d\n",fro[x]);}}return 0;}
1 0
- poj 1988 Cube Stacking
- poj 1988 Cube Stacking
- poj 1988 Cube Stacking
- POJ-1988 Cube Stacking
- POJ 1988 Cube Stacking
- POJ 1988 Cube Stacking
- POJ 1988 Cube Stacking
- poj 1988 Cube Stacking
- POJ 1988 Cube Stacking
- POJ 1988 Cube Stacking
- poj 1988 Cube Stacking
- poj 1988 Cube Stacking
- POJ 1988 Cube Stacking
- POJ 1988 cube stacking
- POJ 1988 Cube Stacking
- POJ--1988--Cube Stacking
- POJ 1988 Cube stacking
- POJ-1988-Cube Stacking
- Android Studio + OpenCV JNI 中的 hello world
- iOS 利用正余弦曲线实现波浪形的XLWaveProgress
- FreeModbus读/写寄存器小Bug
- 异常、File类+JAVA学习笔记-DAY19
- 寻找段落(二分+单调队列)
- POJ 1988 Cube Stacking
- tomcat乱码_中文乱码
- ajax完美解决跨域问题(jsonp、nginx反向代理)
- Oracle CLOB在Hibernate框架下的一次应用
- java布局管理器总结
- 关于文淑大神的BaseRecyclerAdapter的学习心得。。。
- PHP exec/system启动windows应用程序,执行.bat批处理,执行cmd命令
- Codeforces 685B Kay and Snowflake 树的重心
- 字节与位的介绍