#P1172. 顽固的子弹

顽固的子弹

题目描述

ymy 和 lhl 成功通过第二关之后,获得了一颗子弹,在他们面前出现了一群怪兽,ymy 和 lhl 必须用子弹打倒它们。

ymy 和 lhl 的子弹是无敌的,可以无限时间飞行,但是他们的子弹又十分顽固,ymy 和 lhl 应该尽可能避免子弹拐弯。

有一个 n×mn \times m 的方格矩阵,在某些方格内有怪兽存在(每个方格最多只有一个怪兽)。子弹会从 (x,y)(x, y) 出发(你可以为其选择一个方向:向上、向下、向左、向右作为初始方向,而不用计算在拐弯次数之内),要求子弹穿过所有的怪兽,并且拐弯次数最少,求出这个次数。

拐弯指的是顺时针或者逆时针旋转 9090^\circ 或者 180180^\circ(向左转、向右转、调头)。

输入格式

第一行是两个正整数 nn, mm

第二行是两个正整数,表示子弹出发的起点 xx, yy

第三行到第 n+2n + 2 行,每行有 mm 个数,数字为 001111 表示这个位置有敌人,00 表示这个位置没有敌人。

输出格式

输出只有一个整数,表示最小拐弯的次数。

样例输入

3 4
1 1
0 1 1 0
0 1 1 0
0 1 1 0

样例输出

3

提示

n<7n < 7

m<7m < 7

数据随机。