题目背景

冒险岛是费老师新开发的一种情景模拟电脑的游戏,通过掷骰子(1~6个数字之间),让一种人物(棋子)在棋纸上从左至右的行走,从而模拟冒险的故事……

题目描述

棋纸上有一条从左至右的很长的路,整条路是一连串符号组成,表明路的状况,棋子必须在符号组成的路上行走。每掷一下骰子得到的数字,棋子就可以走掷得的数字所对应的步数,比如掷3,就可以走3步。

路上有两种特殊符号可以改变棋子的行走。

一种是“>”符号,一旦棋子走完了掷骰子的步数,最终停留在这个符号上,后面有紧跟着2个以上“>”,那么棋子就可以获得前进奖励,可以沿着“>”一直一步步前进,直到遇到一个不是“>”的符号位置停下来。

还有一种是“*”符号,一旦棋子走完了掷骰子的步数,最终停留在这个符号上,后面又紧跟着两个以上“*”,就要受到后退惩罚,需要退后k步,这个k步就是从当前“*”开始的连续的“*”的数量。

每次掷数后,奖励或惩罚至多一次,如果奖励或惩罚后棋子又落在第二种特殊符号上,则不能再受到奖励或惩罚。

如果走的棋子超出棋纸右边界最后一个符号,则停在最后一个符号上;如果超出左边界,则停在第一个符号上。

若干次掷骰子后,请问游戏中的人物(棋子)走到了哪步?离终点还差几步?

输入输出格式

输入格式:

第一行为一个字符串s,字符串中的每个字符表示棋纸的路的状况。

第二行是一个n,表示掷了n次骰子。

第三行是n个整数(1~6的范围),表明掷了n次骰子得到的数字,数字之间有一个空格。

输出格式:

只有两个数字,表明目前所在符号的序号和离终点符号的步数,数子中间有一个空格。注意输出末尾有换行。

输入输出样例

输入样例#1: 复制

yhfA>>>fhsdfa***>>>foaoad
3
5 6 6
输出样例#1: 复制

20 5

说明

【样例说明】

在游戏中,第一次掷的是5,则走到第一个>的位置,获得奖励前进至左起第二个f处。第二次掷的是6,则走到*的位置,受惩罚退3步,至d处。第三次掷的是6,则走至左起第四个>号处,获奖励前进至f。最终棋子停留的符号是第20个(从左至右的数),离终点符号d(含)相差5步数。

【数据范围】

对于50%的数据,1<=s的长度<=255,0<=n<=1000。

对于100%的数据,256<=s的长度<=1000000,0<=n<=100000。

思路:模拟。

注意:读入字符串可能有空格。这个题目太坑了。。。(╯‵□′)╯︵┻━┻

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
string s;
int n,num,len,pos=-;
int main(){
getline(cin,s);
scanf("%d",&n);
len=s.length()-;
for(int i=;i<=n;i++){
scanf("%d",&num);
pos+=num;int tot=;
if(pos>=len) pos=len-;
if(s[pos]=='>'&&s[pos+]=='>'&&s[pos+]=='>')
while(s[pos]=='>') pos++;
else if(s[pos]=='*'&&s[pos+]=='*'&&s[pos+]=='*'){
while(s[pos+tot]=='*') tot++;
pos-=tot;
}
if(pos<) pos=;
if(pos>=len) pos=len-;
}
cout<<pos+<<" "<<len--pos;
}

最新文章

  1. [转]使用Stopwatch类实现高精度计时
  2. 从json传递数据显示表格实例
  3. Android:TextView 自动滚动(跑马灯) (转)
  4. Ajax+Asp.Net无刷新分页
  5. python 自动化之路 day 04
  6. PHP正则匹配title标题文本
  7. -_-#setTimeout与setInterval
  8. ARP协议的报文格式 转自n哖苡逅
  9. [破解]java打包Exe工具 - Jar2Exe Wizard
  10. jQuery特殊符号转义
  11. php 获取地址栏参数
  12. reactor与proactor模式
  13. asp.net -mvc框架复习(1)-ASP.NET网站开发概述
  14. 自己模拟的一个简单的web服务器
  15. Hbase给初学者的“下马威”
  16. 黄聪:什么是XSS攻击
  17. C++11 bind
  18. ArcEngine对Blob字段赋值的方法
  19. /etc/profile不生效问题
  20. win10环境下搭建虚拟环境和 virtualenvwrapper-win 使用

热门文章

  1. css3 列表图片hover左右滚动效果
  2. SQL函数_Floor和Celling
  3. selenium 窗口句柄之间的切换
  4. BZOJ1189: [HNOI2007]紧急疏散evacuate(二分答案,最大流)
  5. 推荐《深入浅出深度学习原理剖析与python实践》PDF+代码
  6. CSUOJ 1551 Longest Increasing Subsequence Again
  7. 【Struts2】Struts2纯手工安装、配置以及Helloworld,以最新版struts 2.3.20 GA做样例
  8. SAR(遥感、卫星) 图像常用数据集
  9. Kinect 开发 —— 杂一
  10. 体验域名注册解析与SSL证书