题号:NC25160
                        时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
            空间限制:C/C++/Rust/Pascal 32 M,其他语言64 M
             64bit IO Format: %lld
        
     
    题目描述
        
        
    
            
            Farmer John为了满足奶牛对美的享受而安装了人工湖。矩形的人工湖分成 

行 

列
)
的方形小格子。有些格子是荷叶,有些
是岩石,剩下的格子有的只是美丽的蓝色湖水。
 Bessie通过从一片荷叶跳到另一片荷叶上来练习芭蕾。它现在正站在一片荷叶上(看输入数据了解具体位置)。它希望通过在荷叶上跳跃来到达另一片荷叶。它既不能跳到水里也不能跳到岩石上。
 Bessie的跳跃有点类似象棋中马那样的移动,在一个方向上移动
)
格,然后再在斜方向上移动
)
格(或者是在一个方向上移动 

格,然后在斜方向上移动 

格)。Bessie再一个荷叶最多可能有多达8种的跳跃选择。
 给出池塘的构造以及Bessie跳跃的形式,找出Bessie从
起点荷叶跳到终点荷叶所需的最小的跳跃次数。数据保证有解。
输入描述:
                                                    第1行: 四个空格分开的整数: M, N, M1, 和 M2
第2行至 M+1行: 第i+1行用N个空格分开的整数描述池塘第i行,0表示水,1表示 荷叶,2表示岩石,3表示Bessie现在站的那块荷叶,4表示跳跃的终点。
                                                                            输出描述:
                                                    输出 一个整数,是Bessie从起点荷叶跳到终点荷叶所需的最小的跳跃数。
                                                                            
                        
                            示例1
                        
                        
                            
                                输入
                                复制
                                
                                
                                    4 5 1 2
1 0 1 0 1
3 0 2 0 4
0 1 2 0 0
0 0 0 1 0
                                 
                             
                            
                                                            
                                    说明
                                    
                                        Bessie在第二行的左边开始;她的目的地在第二行的右边。池塘中有几块荷叶和岩石。
Bessie聪明的跳到了(1,3)的荷叶上,再跳到目的地。