#P1192. 货车配送(transport)

货车配送(transport)

题目描述

某个街区是一个 n×mn\times m 的网格。坐标 (i,j)(i,j) 表示单元格位于第 ii 行,第 jj 列。每对相邻的单元格之间有一条道路连接,所有的道路都只能按规定的单一方向行驶。道路方向共有三种情况:

  • 由单元格 (i,j)(i,j) 驶向单元格 (i+1,j)(i+1,j)1i<n1\leq i<n ,方向向下;
  • 由单元格 (i,j)(i,j) 驶向单元格 (i,j+1)(i,j+1)1j<m1\leq j <mii 是奇数,方向向右;
  • 由单元格 (i,j)(i,j) 驶向单元格 (i,j1)(i,j-1)1<jm1<j\leq mii 是偶数,方向向左。

每个单元格可能是商铺或者住宅,商铺用 00 表示,住宅用 11 表示。一个 7×67\times 6 的街区示意图如下,空白单元格为商铺。配送公司需要用货车给每个住宅配送生活用品,货车从单元格 (1,1)(1,1) 出发,按道路规定方向行驶,从每一个单元格驶向其相邻的单元格均花费 11 分钟。

请问货车最短需要行驶多少分钟才能完成配送任务?(忽略给每个住宅分配生活用品的时间,不考虑货车的回程)

输入格式

11 行包含 22 个整数 nnmm ,表示行数和列数。

接下来 nn 行,每行包含 mm 个字符,由 0011 组成,00 代表该单元格为商铺,11 代表该单元格为住宅。

保证单元格 (1,1)(1,1) 为商铺。

输出格式

输出 1111 个整数,表示货车完成配送任务需要的最短时间(分钟)。

样例输入输出

7 6
010010
010100
001000
000010
000001
000000
100000
22
2 2
01
10
3

提示

样例1解释

数据范围

  • 对于 30%30\% 的数据, 1n,m501\leq n,m \leq 50
  • 对于 100%100\%的数据, 1n,m2001\leq n,m \leq 200