本游戏和传统贪吃蛇不同的是,初始地图上就会存在所有的食物,吃完食物后也不能增加新的食物!
地图是无穷大的,因此没有撞墙这个说法。
假设蛇初始的坐标为'W'指令代表向上移动,坐标由(x,y)移动到(x,y+1)。
'S'指令代表向下移动,坐标由(x,y)移动到(x,y-1)。
'A'指令代表向左移动,坐标由(x,y)移动到(x-1,y)。
'D'指令代表向右移动,坐标由(x,y)移动到(x+1,y)。
小红想知道,游戏结束的时候,蛇的长度是多少?
第一行输入一个正整数,代表操作的指令长度。
第二行输入一个长度为的,仅包含'W'、'A'、'S'、'D'四种字符的字符串。'W'代表蛇向上移动,'S'蛇向下移动,'A'代表蛇向左移动,'D'代表蛇向右移动。
第三行输入一个正整数,代表食物的数量。
接下来的行,每行输入两个整数
,代表每个食物的坐标。
保证蛇不会相反方向移动,例如,如果上一步蛇向上移动,那么下一步一定不会向下移动。
保证食物不会出现在(0,0)。保证没有两个食物的坐标重合。
一个正整数,代表游戏结束时蛇的长度。
10 WASDDSAASD 3 2 0 -1 1 1 -1
3
蛇可以吃到两个食物,且过程中没有撞到自己的身体。最终长度为3。
10 WWASDDDWAS 5 0 1 -1 1 -1 2 1 1 2 0
5
第五步向右时并不会撞到自己的身体,因为第五步向右到(0,1)时,位于(0,1)的尾巴正好离开了。
但第十步向下时会撞到自己的身体,游戏结束。
总共吃了4个食物,身体长度变成5。
暂无题解