#CLPR1041. NN同学的房间起爆器
NN同学的房间起爆器
题目背景
NN同学的房间起爆器进水啦!
这可是十分重要的东西,所以NN同学狠狠的摇晃它,希望可以把水摇出来,但是她不知道的是,起爆器里面有很多精密元件,要是水碰到了精密元件,机器就会失效。
现在请你判断,在经过了NN同学的一顿操作后,机器是否会幸免。
题目描述
将房间起爆器的内部抽象的看为一个n*m大小的二维平面矩阵
使用 O 表示水滴在机器里面的位置,数量有多个
使用 表示机器中可以自由移动的地方
使用 X 表示机器中的精密元件
用数字 1 2 3 4 分别表示NN同学 上 下 左 右 的晃动方向,每一次晃动,就会使所有水滴向对应方向前进一格
若水滴流出边界,则不会再流回来
在一系列操作之后,如果精密元件碰到了水滴,则输出"NO"(碰到,指水滴位置与精密元件位置重合) 如果无事发生,则输出"YES"
输入数据
第一行输入两个整数 表示矩阵的大小 。
接下来 行,每行输入长度为 ,由 O X 组合而成的字符串,表示矩阵的具体构造。
最后一行输入由 1 2 3 4 组成的一行字符串,表示每次的晃动方向, 。
输出数据
一行输出,无事发生输出"YES",水碰到精密元件输出"NO"。
样例
5 10
**********
X****X****
O***O*****
***X*****X
**XXX*****
441133342
YES
5 5
X*X**
O****
***XX
*****
****O
41424
NO