#ZS3T1. 跳跃(jump)

跳跃(jump)

题面描述

​ 还记得上次香草在测量九华山吗?今天她遇到了困难,路上有很多块石头,但她没有办法徒手翻上去,但是在有一些石头的前面有跳板,可以帮助香草跳上这块石头(如果石头连续出现,香草会在连续石头中的最后一块石头那边跳下来,简而言之香草可以踩在石头上行走),但是并不是所有的石头前面都有跳板并且如果跳板的后面不是石头,或者跳板的后面是跳板这种情况,然后香草就会落地过猛,导致他无法到达终点,在石头前没有跳板的情况下,香草会选择掏出梯子帮助她翻上石头,虽然香草身上自带一些梯子(梯子的数量是有限的,每组测试数据所用的梯子的数量不计入下一组数据中)梯子和跳板一样都可以帮助香草翻上那一块石头,现在来问你香草到底能不能到达终点。

输入格式

​ 从文件jump.in中读入数据。

​ 第一行输入一个数字 T 代表有 T 组数据。

​ 第二行输入香草所带的梯子数 N。

​ 第三行输入地形(字母S代表起点,E代表终点,字母O代表可以行走 字母X代表该地有石头 字母D代表此处有跳板)。

输出格式

​ 输出到文件jump.out中。

输出她是否能够到达终点,若香草能到达终点则输出 Yes 否则就输出 No。如果能到达终点,随后在后面空一格输出她身上剩下的梯子数量。

2
0
SOOODXOODXODXOOOE
SOOOOODOOXOOOOE
Yes 0
No

样例 1 解释

​ 对于第一个数据由于每一个石头前面都有一个跳板,所以香草能到达终点。

​ 对于第二个数据,第一个跳板后面没有石头,所以香草落地过猛。

4
3
SOOOXOOXOXOOOE
SOXOOOOOXOOE
SOXXOOOODXXXXXOOE
SOOOOOODDDDDDOOOOOOOE
Yes 0
Yes 1
Yes 2
No

样例 2 解释

​ 对于第一个数据在每个石头前香草都使用了梯子且使用次数没有超过她背包里的梯子数量故她可以到达终点。

​ 对于第二个数据,每个石头前香草都使用了梯子,因为梯子的使用次数不计入下一组数据,所以这一组数据香草仍然有3个梯子,故可以到达终点。

​ 对于第三个数据,由于香草第一次遇到了石头,她使用了梯子爬上去,第二次遇到石头,但石头前有跳板她跳到了石头上面,所以她在石头上面行走了5格(没有花费梯子的数量)随后到达了终点。

​ 对于第四个数据,由于有跳板,并且跳板的后面不是石头,所以香草落地过猛。

样例 3

​ 见选手目录下的 jump/jump3.injump/jump3.ans

数据规模与约定

​ 对于 100100 % 的数据保证: T200T \le 200N200N \le 200,每组数据的地形数据长度 200\le 200