给定一个n×m的网格,其中每个位置可能是可通行的空方格(0)或是地雷方格(1)。我们需要找到有多少个地雷方格能够消灭影子怪兽。我们从网格的中点出发,怪兽从网格中点的右下方出发。每次你移动一步,怪兽会做相反的动作,目标是通过踩到地雷方格来消灭怪兽。与此同时,你必须保证自己的移动不进入地雷方格。
我们可以通过模拟网格中的移动过程来解这个问题。关键的思想是你和怪兽总是做相反的移动,因此你可以通过遍历你的每一次可能的合法移动来判断怪兽是否会被消灭。
给定一个n行m 列的网格,且保证n,m都为偶数。我们用(i,j)表示第i行第j列的单元格。
每个单元格要么是可通行的空方格0,要么是不可通行的地雷方格1。
网格的四周都是墙,你可以在空方格上上下左右移动:
从(x,y)向上移动到(x−1,y);
向下移动到(x+1,y);
向左移动到(x,y−1);
向右移动到(x,y+1)。
你初始位于(2n,2m),影子怪兽初始位于(2n+1,2m+1)
每当你移动一次,怪兽就朝相反方向移动一次,直到怪兽被消灭。
由于它始终和你做相反移动,无法被你直接追上。
不过,网格中有地雷方格可以消灭它。
请计算有多少不同的地雷方格可以消灭影子怪兽。你需要保证自己始终不会踏入地雷方格。
第一行输入两个整数n,m(4≤n×m≤106),表示网格大小。题目保证n,m都为偶数。
接下来n行,每行输入m个整数ai,j∈{0,1},表示网格:
0表示空方格;
1表示地雷方格。
同时保证你和影子怪兽的初始位置所在单元格均为0
输出一个整数,表示可以用来消灭影子怪兽的地雷方格总数。
输入
4 2
1 0
0 0
1 0
1 1
输出
1
输入
2 2
0 0
0 0
输出
0