U534853 被五步蛇咬了怎么办?
题目背景
(题目机制来自游戏《出院!青龙山之谜》
部分数据点为原游戏内容,其余为原创/根据游戏内容改编)
众所周知,五步蛇毒性极强,被咬后,走出5步就会毒发身亡,而你在前往中科城的路上,必须经过明知山中一片充满五步蛇的地区
诶~你有个主意,只要在走出五步之前再被咬一次,不就可以再走四步了吗?如此循环,或许有方法渡过难关!
题目描述
五步蛇之所以得名,是因为被其咬伤后至多只能走出4步,走出5步时将立刻死亡,但在弱智吧的世界,被另一条五步蛇咬伤将重置步数
已知五步蛇会主动攻击它四个方向的相邻格子,而且咬人后消失,原地变为空地。若没有被阻挡,你每一步可以往周围四个方向移动一格
在起点处,你不慎被五步蛇咬伤,你需要规划路线,希望在被毒死之前取得终点处的解药
输入格式
第一行为两个整数m和n,分别为地图长宽
接下来n行,每行m个数,表示地图构造,0为空地,1为障碍,5为五步蛇,数字之间用空格隔开,地图边界外不可行走
倒数第二行为四个整数,分别表示起点的横、纵坐标和终点的横、纵坐标,且最左上角的格子坐标记为(1,1)
最后一行为一个开关,输入0或1
输出格式
能取得解药输出1,反之输出0
若开关的值为1,在第二行输出此时取得解药的方法数
(按相同顺序触发相同的一些五步蛇视为1种解法,反之亦然;若不能取得解药,则输出0)
说明/提示
1<m,n<30
没有再次被咬且走出五步将直接死亡,此时来不及服用解药或被另一只五步蛇咬以续命(见样例2)