中秋夜,西子湖畔游客熙来攘往,或赏月赏景,或与家人朋友散步,抑或是像kk一样专门在这一天的晚上来看三潭映月。
三潭映月中有三座石塔,塔身都有五个圆圆的洞口,从一个洞口望去,便可以一管而窥青天,所以,每年中秋,人们总是在石塔里点起火,再在圆洞上蒙上薄薄的白纸。霎时,皓月满空,火光熊熊,透过白纸,十五个白玉盘投印在湖面上,宛若十五个月亮漂在水面上,再加上原本月亮的倒影,十六个月亮凌然于碧水之上!
(from http://dajia.qq.com/original/beauty/pxl20171217.html)
“月色真美……”
受此景吸引,kk决定泛舟湖上,从这片漂满“月亮“的湖上穿过去并到达对岸,同时,kk也不想让船撞上”月亮“,那么kk能顺利到达彼岸吗?
假设湖面是一个n*m的矩阵,kk的初始坐标固定为(0,0),kk的目标地点固定为(n-1,m-1)。kk的船只能向上、向下、向左或向右移动,船也不能移动到湖以外的地方,kk从起点出发时可以选择向右走或者向下走。此外,kk是一个做事有条理的人,如果他向右走碰到“月亮”或者湖的边界时会把船的方向转为向下,向下走碰到“月亮”或者湖的边界时会把船的方向转为向左,向左走碰到“月亮”或者湖的边界时会把船的方向转为向上,向上走碰到“月亮”或者湖的边界时会把船的方向转为向右。(如果转向后依旧碰到“月亮”或者湖的边界,那么继续转向)
多组输入。
第一行为两个正整数n和m,分别代表湖的竖直长度和水平长度;接下来的n行,每行有m个数字,只包含‘1’、‘0’、‘5’、‘6’这四种数字,’1’代表湖水,‘0’代表月亮,‘5’代表kk的初始坐标,‘6’代表kk的目标地点。
2<=n<=50, 2<=m<=50。
如果kk能顺利到达对岸,就输出“Huohuohuo”,否则输出”Zenmefeisi”。
对于第二组样例,kk的移动路径为(0,0)->(0,8)->(7,8)->(7,2)->(3,2)->(3,6)->(5,6)->(5,1)->(5,1)->(5,9)->(9,9),最终能到达目的地。
即将出发之际,kk发现自己无法判断是否能顺利到达对岸,于是在纸上画了一个2*2的矩阵来模拟湖面上的情况,矩阵如下:
50
16
kk模拟了一下自己的行动路线,在移动或改变方向了9次后,发现自己还没有走出去,他意识到自己已经不论如何都到不了目的地了。(除了目的地之外,kk最多只有两个地方能走;kk不论初始是向右走还是向下走,都只会在(0,0)和(1,0)之间死循环)