(54)-poj-Cube Stacking-参考3算法设计与分析_第1页
(54)-poj-Cube Stacking-参考3算法设计与分析_第2页
(54)-poj-Cube Stacking-参考3算法设计与分析_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CubeStackingTimeLimit:

2000MS

MemoryLimit:

30000KTotalSubmissions:

18858

Accepted:

6547CaseTimeLimit:

1000MSDescriptionFarmerJohnandBetsyareplayingagamewithN(1<=N<=30,000)identicalcubeslabeled1throughN.TheystartwithNstacks,eachcontainingasinglecube.FarmerJohnasksBetsytoperformP(1<=P<=100,000)operation.Therearetwotypesofoperations:

movesandcounts.

*Inamoveoperation,FarmerJohnasksBessietomovethestackcontainingcubeXontopofthestackcontainingcubeY.

*Inacountoperation,FarmerJohnasksBessietocountthenumberofcubesonthestackwithcubeXthatareunderthecubeXandreportthatvalue.

Writeaprogramthatcanverifytheresultsofthegame.

Input*Line1:Asingleinteger,P

*Lines2..P+1:Eachoftheselinesdescribesalegaloperation.Line2describesthefirstoperation,etc.Eachlinebeginswitha'M'foramoveoperationora'C'foracountoperation.Formoveoperations,thelinealsocontainstwointegers:XandY.Forcountoperations,thelinealsocontainsasingleinteger:X.

NotethatthevalueforNdoesnotappearintheinputfile.Nomoveoperationwillrequestamoveastackontoitself.

OutputPrinttheoutputfromeachofthecountoperationsinthesameorderastheinputfile.

SampleInput6M16C1M24M26C3C4SampleOutput102题意:n个方块(n<=30000),p组操作(p<=100000),操作有两种,Mab将含有a的堆放在包含b的堆上,还有一种是Ca统计a下面有多少个方块思路:带权并查集,一堆中最顶上的方块作为父节点,用dist[X]统计X到父亲节点的距离,rank[fa[X]]表示团的大小,两者相减即为答案#include<iostream>#include<cstdio>#include<cstring>#include<vector>#include<string>#include<algorithm>#include<queue>usingnamespacestd;constintmaxn=30000+10;intfa[maxn];intrank[maxn];intdist[maxn];voidinit(){for(inti=0;i<maxn;i++){fa[i]=i;rank[i]=1;dist[i]=0;}}intfind(intx){if(x!=fa[x]){intt=fa[x];fa[x]=find(fa[x]);dist[x]+=dist[t];}returnfa[x];}intmain(){intn;while(~scanf("%d",&n)){init();charop;while(n--){cin>>op;inta,b;if(op=='M'){scanf("%d%d",&a,&b);intfaA=find(a);intfaB=find(b);if(faA!=faB){fa[faB]=faA;dist[faB]=rank[faA];rank[faA]+=rank[faB];}}else{scanf("%d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论