问题标题: 1403 数字方阵

0
0

-1
已采纳
樊澄宇
樊澄宇
新手光能
新手光能

用两个搜索

一个判断(x,y)是否可以从0改成2(不与边界接壤,等于0)

另一个把所有与(x,y)相关联的0改成2

然后判断每一个格子:

如果可以从0改成2,则把所有与它相关联的0改成2

0
0
程天瑞
程天瑞
资深守护
资深守护


void search(int x,int y)
{
    used[x][y]=true;
    for (int i=0;i<4;i++)
    {
        int nx=x+dir[i][0];
        int ny=y+dir[i][1];
        if (canjump(nx,ny) && !used[nx][ny] && map[nx][ny]==0)
            search(nx,ny);
    }
}    

主要思路

0
-1
梁锦程
梁锦程
高级光能
高级光能
思路: 题意就是找到被1包围中的 0,然后变成2,那我们 在他的外围在加一圈0,然后从(0,0)开始搜 ,遇到1就return ,遇到0就变成3,或者任意一个 非0,1的数,这样 我们就会从(0,0)开始搜到图的最后,这样遇到的所有0就是“圈”外面的0,对吧 那么没有改变的0就是我们要把他变成2的0,完成。

望采纳,谢谢!!

我要回答