A70634. 填涂颜色
编程题
基础
知识点
题目描述
由数字 0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字 1 构成,围圈时只走上下左右 4 个方向。现要求把闭合圈内的所有空间都填写成 2 。
例如:6 \times 6 的方阵(n=6),涂色前和涂色后的方阵如下。
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 0 0 1
1 1 0 0 0 1
1 0 0 0 0 1
1 1 1 1 1 1
0 0 0 0 0 0
0 0 1 1 1 1
0 1 1 2 2 1
1 1 2 2 2 1
1 2 2 2 2 1
1 1 1 1 1 1
输入格式
每组测试数据第一行一个整数 n (1≤n≤30)。
接下来 n 行,由 0 和 1 组成的 n \times n 的方阵。
方阵内只有一个闭合圈,圈内至少有一个 0 。
输出格式
已经填好数字 2 的完整方阵 。
输入输出样例
输入 #1
6 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1
输出 #1
0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 2 2 1 1 1 2 2 2 1 1 2 2 2 2 1 1 1 1 1 1 1
说明/提示
## 思路
「填涂颜色」用广度优先搜索求最少步:队列分层扩展。
## 步骤
1. 读入地图或状态。
2. 起点入队,BFS 扩展未访问邻居。
3. 到达终点时输出步数。
「填涂颜色」用广度优先搜索求最少步:队列分层扩展。
## 步骤
1. 读入地图或状态。
2. 起点入队,BFS 扩展未访问邻居。
3. 到达终点时输出步数。