博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
洛谷 1162——填涂颜色(广度优先搜索)
阅读量:5286 次
发布时间:2019-06-14

本文共 1458 字,大约阅读时间需要 4 分钟。

题目描述

由数字0 组成的方阵中,有一任意形状闭合圈,闭合圈由数字1构成,围圈时只走上下左右4个方向。现要求把闭合圈内的所有空间都填写成2.例如:6X6的方阵(n=6),涂色前和涂色后的方阵如下:

0 0 0 0 0 0 0 0 0 0 0 0

0 0 1 1 1 1 0 0 1 1 1 1

0 1 1 0 0 1 0 1 1 2 2 1

1 1 0 0 0 1 1 1 2 2 2 1

1 0 0 0 0 1 1 2 2 2 2 1

1 1 1 1 1 1 1 1 1 1 1 1

输入输出格式

输入格式:

每组测试数据第一行一个整数:n。其中n(1<=n<=30)

接下来n行,由0和1组成的nXn的方阵。

方阵内只有一个闭合圈,圈内至少有一个0。

//感谢黄小U饮品指出本题数据和数据格式不一样. 已修改(输入格式)

输出格式:

已经填好数字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<=n<=30


输入时,先将为0的都赋值为2

从四面向里面搜,搜到如果是2的话就,就将这个点变为0;如果是1或0的话,就直接退出循环。


代码如下:

var a:array[1..30,1..30]of 0..2;  n,i,j:longint;begin  readln(n);  for i:=1 to n do    for j:=1 to n do      begin        read(a[i,j]);        if a[i,j]=0 then a[i,j]:=2;      end;  readln;  for i:=1 to n do    begin      for j:=1 to n do if a[i,j]=1 then break                                   else a[i,j]:=0;      for j:=1 to n do if a[j,i]=1 then break                                   else a[j,i]:=0;      for j:=n downto 1 do if(a[i,j]=1)or(a[i,j]=0)then break                                                    else a[i,j]:=0;      for j:=n downto 1 do if(a[j,i]=1)or(a[j,i]=0)then break                                                    else a[j,i]:=0;    end;  for i:=1 to n do    begin      for j:=1 to n do write(a[i,j],' ');      writeln;    end;  readln;end.

转载于:https://www.cnblogs.com/Comfortable/p/8412412.html

你可能感兴趣的文章
response实现文件下载
查看>>
【WP7】页面之间数据交互
查看>>
C++中的unique函数
查看>>
小白学数据分析----->流失分析设计
查看>>
FontAwesome 奥森图标的学习
查看>>
request response cookie session
查看>>
spring
查看>>
开源cms
查看>>
指针与引用
查看>>
NMON记录服务器各项性能数据
查看>>
Xitrum学习笔记05 - 模板引擎
查看>>
JavaBase 变量,数据类型和运算符
查看>>
Android Audio Focus的应用(requestAudioFocus)
查看>>
1django 视图与网址
查看>>
实现如下语法的功能:var a = (5).plus(3).minus(6); //2
查看>>
MFC添加背景图片
查看>>
未找到arm-linux-gcc解决办法
查看>>
统计Xcode项目代码行数
查看>>
认识 service worker
查看>>
第五次团队作业:项目展示
查看>>