【备战NOIP2012图论专项模拟试题】位图
来源:互联网 发布:python高手之路 第3版 编辑:程序博客网 时间:2024/05/22 16:39
Description
给出一个大小为n行*m列的矩形位图。该位图的每一个象素点不是白色就是黑色,但是至少有一个象素点是白色。在i行j列的象素点我们称为点(i,j)。两个象素点p1=(i1,j1)和p2=(i2,j2)之间的距离定义如下:
d(p1,p2)=|i1-i2|+|j1-j2|
现在的任务是:对于每一个象素点,计算它到最近的白色点的距离。如果它本身是白色点,距离为0。
Input
【输入格式】
第1行:2个整数n,m(1<=n <=182,1<=m<=182)
接下来n行,每一行有一个长度为m的0/1字符串,描述一行象素点。如果点(i,j)为白色,则值为1,否则值为0。
Output
【输出格式】
共n行,每行有m个整数,数之间用1个空格分开,分别表示对应的象素点距离白色点的距离。
Sample Input
3 4
0001
0011
0110
Sample Output
3 2 1 0
2 1 0 0
1 0 0 1
Data Constraint
Hint
【备战NOIP2012图论专项模拟试题】
分析:可以用广搜。我用了DP,但是要转移n+m次。
代码:
var f:Array [0..183,0..183] of longint; n,i,j,m,l:longint; ch:char;function min(a,b,c,d,e:longint):longint; begin if a<b then min:=a else min:=b; if c<min then min:=c; if d<min then min:=d; if e<min then min:=e; exit(min); end;begin readln(n,m); for i:=0 to 183 do for j:=0 to 183 do f[i,j]:=maxlongint div 2; for i:=1 to n do begin for j:=1 to m do begin read(ch); if ch='1' then f[i,j]:=0; end; readln; end; for l:=1 to n+m do for i:=1 to n do for j:=1 to m do f[i,j]:=min(f[i,j],f[i-1,j]+1,f[i,j-1]+1,f[i+1,j]+1,f[i,j+1]+1); for i:=1 to n do begin for j:=1 to m do write(f[i,j],' '); writeln; end;end.
0 0
- jzoj 3076. 【备战NOIP2012图论专项模拟试题】位图
- 【备战NOIP2012图论专项模拟试题】位图
- 纪中3076【备战NOIP2012图论专项模拟试题】位图 题解
- 3076. 【备战NOIP2012图论专项模拟试题】位图 (Standard IO)
- 【备战NOIP2012图论专项模拟试题】外星人入侵
- 【备战NOIP2012图论专项模拟试题】无线通讯网
- 【备战NOIP2012图论专项模拟试题】砍树
- 【备战NOIP2012图论专项模拟试题】砍树
- 【备战NOIP2012图论专项模拟试题】砍树 纪中3079 dfs
- 高中纪中OJ3077. 【备战NOIP2012图论专项模拟试题】外星人入侵 题解
- 高中纪中OJ3078. 【备战NOIP2012图论专项模拟试题】无线通讯网
- 纪中高中OJ3079. 【备战NOIP2012图论专项模拟试题】砍树题解
- 3077. 【备战NOIP2012图论专项模拟试题】外星人入侵 (Standard IO)
- 3078. 【备战NOIP2012图论专项模拟试题】无线通讯网 (Standard IO)
- 3079. 【备战NOIP2012图论专项模拟试题】砍树 (Standard IO)
- 2016.08.17【初中部 NOIP提高组 】模拟赛C(图论专项模拟试题)
- 【图论最短路】【CQBZOJ 1633】【图论专项赛】位图
- noip2012 寻宝 (模拟)
- StringBuilder&StringBuffer&String
- Checking Whether a String is Numeric
- 双卡双待 getDeviceId unique device ID IMEI 不唯一 会变问题
- Maven 插件之 maven-antrun-plugin
- 01背包中是否背包装满问题
- 【备战NOIP2012图论专项模拟试题】位图
- 彻底搞懂字符编码(unicode,mbcs,utf-8,utf-16,utf-32,big endian,little endian...)
- Git问题Everything up-to-date解决
- 657 - The die is cast
- 解题报告:HDU2841 Visible Trees 莫比乌斯反演
- MTK Battery系统
- Power Network--最大流的EK()算法
- Android尾部带“查看更多”的TextView
- Android编程——自定义View类onSaveInstanceState与onRestoreInstanceState使用方法