题目链接:https://www.luogu.org/problemnew/show/P1141
题意:给一个n*n
的仅由01
构成的迷宫,输出从某一点出发所能走到的最多格子,如果所处方块是0,则可以走到四个方向上的1去,反之亦然。
思路:
1.如果这一格的步数已经大于0就直接输出,否则dfs,并标记,具体的看代码。
2.另外所谓的走格子规则,其实就是周围四个方向的格子跟所在的格子不等就行。
3.其实就是求出图中的联通块,我们把一个联通块看成一个房间。
代码如下:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
using namespace std