时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
现有一个大小为

的二维矩阵,每个元素

可能是字符'0'、'1'。
阿宁一开始站在
)
,目标走到
)
。
假设当前在
)
,一个
相邻的位置
)
,
上下左右 相邻。可以进行以下其中一个行为,花费一个单位时间:
1. 如果

是'0',

是'1',可以从
)
走到
)
。
2. 如果

是'1',

是'0',可以从
)
走到
)
。
3. 将

变成'1'。
4. 将

变成'0'。
问阿宁从
)
走到
)
需要最少多少单位时间?
输入描述:
第一行输入两个正整数
。
接下来输入
行,每行
个字符,字符仅包含'0'、'1'。

输出描述:
输出一个整数。