题目概况
题目链接: https://www.luogu.com.cn/problem/P1162
难度: 普及-
题目分析
简化题目: 把图中1
包裹起来的部分全部写成2
。
涉及知识点: 深度优先搜索DFS
解题思路:
我们可以反其道而行之。采用染色法,将1
围栏外的元素全部标记,然后剩下没有被染色的部分即为围栏以内的。
在输入时要把围墙提前染色标记。在0,0
~n+1,n+1
搜索(因为还可能有边边上的没被围住的,这点比较特殊,比如下面的一组数据),再染色。
6
0 0 1 1 1 0
1 1 1 0 1 0
1 0 0 0 0 1
1 1 0 1 1 1
0 1 0 1 0 0
0 1 1 1 0 0
代码拆解及要点分析
老规矩,普及-的题目不写拆解分析
完整代码
#include <iostream>
#include <cstdio>
using namespace std;
const int MAXN =