T4310 祖玛游戏
题目描述
祖玛是一款曾经风靡全球的游戏,其玩法是:在一条轨道上初始排列着若干
个彩色珠子,其中任意三个相邻的珠子不会完全同色。此后,你可以发射珠子到
轨道上并加入原有序列中。一旦有三个或更多同色的珠子变成相邻,它们就会立
即消失。这类消除现象可能会连锁式发生,其间你将暂时不能发射珠子。
开发商最近准备为玩家写一个游戏过程的回放工具。 他们已经在游戏内完成
了过程记录的功能,而回放功能的实现则委托你来完成。
游戏过程的记录中,首先是轨道上初始的珠子序列,然后是玩家接下来所做
的一系列操作。你的任务是,在各次操作之后及时计算出新的珠子序列。
输入输出格式
输入格式:
第一行是一个由大写字母'A'~'Z'组成的字符串, 表示轨道上初始的珠子序列,
不同的字母表示不同的颜色。
第二行是一个数字n,表示整个回放过程共有n次操作。
接下来的n行依次对应于各次操作。每次操作由一个数字k和一个大写字母∑
描述, 以空格分隔。 其中, ∑为新珠子的颜色。 若插入前共有m颗珠子, 则k ∈ [0,m]
表示新珠子嵌入之后(尚未发生消除之前)在轨道上的位序。
输出格式:
输出共n行,依次给出各次操作(及可能随即发生的消除现象)之后轨道上
的珠子序列.
如果轨道上已没有珠子,则以“-”表示。
输入输出样例
ACCBA
5
1 B
0 A
2 B
4 C
0 A
ABCCBA
AABCCBA
AABBCCBA
-
A
说明
100%的数据满足1 ≤ n ≤ 10^3 ,0 ≤ m ≤ 2 × 10^3 。
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int where;
int flag=;
string c;
string a;
int n;
void pd()
{
int tot=;
do
{
flag=;
tot=;
int h=where-,t=where+,now=where;
while(a[h]==a[now]&&h>=)
{
tot++;
h--;
}
h++;
while(a[t]==a[now]&&t<a.size())
{
tot++;
t++;
}
t--;
if(tot>=)
{
//cout<<endl<<a<<"******"<<endl;
a.erase(h,tot);
flag=;
//cout<<endl<<a<<"-------"<<endl;
}
where=h;
}while(flag==); }
int main()
{
getline(cin,a);
scanf("%d",&n);
while(n--)
{
cin>>where>>c;
a.insert(where,c);
pd();
if(a.size()==)
cout<<"-"<<endl;
else cout<<a<<endl;
}
return ;
}
T4310 祖玛游戏的更多相关文章
- [LeetCode] Zuma Game 祖玛游戏
Think about Zuma Game. You have a row of balls on the table, colored red(R), yellow(Y), blue(B), gre ...
- [Swift]LeetCode488. 祖玛游戏 | Zuma Game
Think about Zuma Game. You have a row of balls on the table, colored red(R), yellow(Y), blue(B), gre ...
- Leetcode 488.祖玛游戏
祖玛游戏 回忆一下祖玛游戏.现在桌上有一串球,颜色有红色(R),黄色(Y),蓝色(B),绿色(G),还有白色(W). 现在你手里也有几个球. 每一次,你可以从手里的球选一个,然后把这个球插入到一串球中 ...
- 488 Zuma Game 祖玛游戏
回忆一下祖玛游戏.现在桌上有一串球,颜色有红色(R),黄色(Y),蓝色(B),绿色(G),还有白色(W). 现在你手里也有几个球.每一次,你可以从手里的球选一个,然后把这个球插入到一串球中的某个位置上 ...
- Java实现 LeetCode 488 祖玛游戏
488. 祖玛游戏 回忆一下祖玛游戏.现在桌上有一串球,颜色有红色,黄色(Y),蓝色(B),绿色(G),还有白色(W). 现在你手里也有几个球. 每一次,你可以从手里的球选一个,然后把这个球插入到一串 ...
- Unity3d游戏中自定义贝塞尔曲线编辑器[转]
关于贝塞尔曲线曲线我们再前面的文章提到过<Unity 教程之-在Unity3d中使用贝塞尔曲线>,那么本篇文章我们来深入学习下,并自定义实现贝塞尔曲线编辑器,贝塞尔曲线是最基本的曲线,一般 ...
- BZOJ 1032 祖玛
Description 这是一个流行在Jsoi的游戏,名称为祖玛.精致细腻的背景,外加神秘的印加音乐衬托,彷佛置身在古老的国度里面,进行一个神秘的游戏——这就是著名的祖玛游戏.祖玛游戏的主角是一只石青 ...
- 【Unity3d游戏开发】游戏中的贝塞尔曲线以及其在Unity中的实现
RT,马三最近在参与一款足球游戏的开发,其中涉及到足球的各种运动轨迹和路径,比如射门的轨迹,高吊球,香蕉球的轨迹.最早的版本中马三是使用物理引擎加力的方式实现的足球各种运动,后来的版本中使用了根据物理 ...
- Unity游戏中使用贝塞尔曲线
孙广东 2015.8.15 比方在3D rpg游戏中.我们想设置弹道,不同的轨迹类型! 目的:这篇文章的主要目的是要给你关于在游戏怎样使用贝塞尔曲线的基本想法. 贝塞尔曲线是最主要的曲线,一般用在 ...
随机推荐
- c++再探string之eager-copy、COW和SSO方案
在牛客网上看到一题字符串拷贝相关的题目,深入挖掘了下才发现原来C++中string的实现还是有好几种优化方法的. 原始题目是这样的: 关于代码输出正确的结果是()(Linux g++ 环境下编译运行) ...
- netty学习2
一.Netty分层设计 Netty 采用了比较典型的三层网络架构进行设计,逻辑架构图如下所示: #第一层,Reactor 通信调度层,它由一系列辅助类完成,包括 Reactor 线程 NioEvent ...
- VS2008给对话框添加背景颜色
第一种方法如下: 在对话框OnPaint()函数中添加代码 //改变对话框背景颜色 CRect rect; CPaintDC dc(this); GetClientRect(rect); dc.Fil ...
- java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String
问题背景:从前端传来的json字符串中取某些值,拼接成json格式入参调外部接口. 报如下错: java.lang.ClassCastException: java.util.HashMap cann ...
- Linux网络命令必知必会之瑞士军刀 nc(netcat)
本文首发于我的公众号 Linux云计算网络(id: cloud_dev),专注于干货分享,号内有 10T 书籍和视频资源,后台回复「1024」即可领取,欢迎大家关注,二维码文末可以扫. nc,全名叫 ...
- html页面选择图片上传时实现图片预览功能
实现效果如下图所示 只需要将下面的html部分的代码放入你的代码即可 (注意引入jQuery文件和html头部的css样式,使用的是ajax提交) <!-- 需引入jQuery 引入样式文件 引 ...
- Codeforces691A【读题-水】
妈蛋wa了两次.. 时尚的定义是length大于1的要破个洞,一定要破个洞.. According to rules of the Berland fashion, a jacket should b ...
- 17..userinfo.txt 文件中存放以下结构:
alex:alex3714 wusir:123456 meet:meet123 1.让用户选择: 1.注册 2.登录 2.用户选择注册就将账号和密码添加到userinfo.txt中,如果用户名存在就提 ...
- C 语言实例 - 计算 int, float, double 和 char 字节大小
C 语言实例 - 计算 int, float, double 和 char 字节大小 C 语言实例 C 语言实例 使用 sizeof 操作符计算int, float, double 和 char四种变 ...
- 「干货」常用的10个网络DOS命令,菜鸟学了变高手
1 ping命令 1命令格式 ping 主机名 ping 域名 ping IP地址 如图所示,使用ping命令检查到IP地址210.43.16.17的计算机的连通性,该例为连接正常.共发送了四个测试数 ...