#P2628. 冒险岛
冒险岛
说明
棋纸上有一条从左至右的很长的路,整条路是一连串符号组成,表示路的状况,最左边的符号为第 格,最右边的符号为终点符号。棋子必须在符号组成的路上行走。每掷一下骰子,棋子就可以走掷得的数字所对应的步数,比如掷出 ,就可以走 步。初始时棋子位于所有符号之前的第 格。
路上有两种特殊符号可以改变棋子的行走。
一种是 > 符号,一旦棋子走完了掷骰子的步数,最终停留在这个符号上,后面又紧跟着 个或以上 >,那么棋子就可以获得前进奖励,可以沿着 > 一直一步步前进,直到遇到一个不是 > 符号的位置或者到达右边界时停下来。
还有一种是 * 符号,一旦棋子走完了掷骰子的步数,最终停留在这个符号上,后面又紧跟着 个或以上 *,就要受到后退惩罚,需要退后 步,其中 为从当前 * 开始的连续的 * 的数量。
每次掷骰子后,奖励或惩罚至多一次,如果奖励或惩罚后棋子又落在特殊符号上,则不能再受到奖励或惩罚。
如果棋子超出棋纸右边界最后一个符号,则停在最后一个符号上;如果超出左边界,则停在第一个符号上,不能退回起点。
若干次掷骰子后,请问游戏中的人物(棋子)走到了哪一格?离终点还差几步?
输入格式
第一行是一个字符串 ,表示棋纸上的路的状况。字符串中可能存在空格。
第二行是一个整数 ,表示掷骰子的次数。
第三行是 个整数(范围为 ),表示掷了 次骰子得到的数字,数字之间有一个空格。
输出格式
一行两个用空格隔开的整数,表示目前所在符号的序号和离终点符号的步数。
yhfA>>>fhsdfa***>>>foaoad
3
5 6 6
20 5
提示
【样例说明】
在游戏中,第一次掷的是 ,则走到第一个 > 的位置,获得奖励前进至左起第二个 f 处。第二次掷的是 ,则走到 * 的位置,受惩罚退 步,至 d 处。第三次掷的是 ,则走至左起第四个 > 号处,获奖励前进至 f。最终棋子停留的符号是第 格(从左至右),离终点符号 d(含)相差 步。
【数据范围】
对于 的数据,,,其中 表示字符串 的长度。
对于 的数据,,。
京公网安备 11011102002149号