cogs 32. [POI1999] 位图
32. [POI1999] 位图
★ 输入文件:bit.in 输出文件:bit.out 简单对比
时间限制:1 s 内存限制:128 MB
【问题描述 】
给定一个 n*m 的矩形位图,位图中的每个像素不是白色就是黑色,但至少有一个是白色的。第 i 行、第 j 列的像素被称作像素 (i, j) 。两个像素 p1 = (i1, j1) , p2 = (i2, j2) 之间的距离定义为: d(p1, p2) = |i1 - i2| + |j1 - j2|.
【任务 】
编一个程序完成以下操作:
1 .从输入文件中读入此位图的有关信息。
2 .对于每个像素,计算此像素与离其最近的“白像素”的距离。
3 .将结果写到输出文件里面。
【输入格式 】
输入文件的第一行包含两个整数 n, m ( 1 ≤ n ≤ 182, 1 ≤ m ≤ 182 ),用一个空格隔开。接下来 n 行,每一行都包含一个长度为 m 的 01 串;第 i+1 行,第 j 列的字符若为 1 ,则像素 (i, j) 是白色的;否则是黑色的。
【输出格式 】
输出文件包含 n 行 , 每行有 m 个用空格隔开的整数。第 i 行、第 j 列的整数表示 (i, j) 与离它最近的白像素之间的距离
【样例输入】
bit.in
3 4
0001
0011
0110
【样例输出】
bit.out
3 2 1 0
2 1 0 0
1 0 0 1
思路:宽搜可过。
#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int a[][];
int dx[]={,,,-};
int dy[]={,,-,};
queue<int>que,pue;
void bfs(){
while(!que.empty()){
int x=que.front(),y=pue.front();
que.pop();
pue.pop();
for(int i=;i<;i++){
int xx=x+dx[i];
int yy=y+dy[i];
if(xx>=&&xx<=n&&yy>=&&yy<=m&&a[xx][yy]!= ){
if(a[xx][yy]==-){
a[xx][yy]=a[x][y]+;
que.push(xx);
pue.push(yy);
}
else{
if(a[xx][yy]>a[x][y]+){
a[xx][yy]=a[x][y]+;
que.push(xx);
pue.push(yy);
}
}
}
/*cout<<"******************************"<<endl;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
cout<<"*******************************"<<endl;*/
}
}
}
int main(){
freopen("bit.in","r",stdin);
freopen("bit.out","w",stdout);
scanf("%d%d",&n,&m);
memset(a,-,sizeof(a));
for(int i=;i<=n;i++){
char s[];
scanf("%s",s+);
for(int j=;j<=m;j++){
if(s[j]==''){
a[i][j]=;
que.push(i);
pue.push(j);
}
}
}
bfs();
for(int i=;i<=n;i++){
for(int j=;j<=m;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
cogs 32. [POI1999] 位图的更多相关文章
- DIB位图(Bitmap)的读取和保存
设备无关位图(Device Independent Bitmap)是可以保存在磁盘的位图文件,可以从磁盘读取到内存或者从内存保存到磁盘上.它的文件结构是标准化的,可以在Windows/Linux/Un ...
- DIB位图文件的格式、读取、保存和显示(转载)
一.位图文件结构 位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据 1.位图文件头:BitMapFileHeader.位图文件头主要用于识别位图文件.以下是位图文件头结构的定义: type ...
- 位图文件格式及linux下C语言来操作位图文件
说到图片,位图(Bitmap)当然是最简单的,它是Windows显示图片的基本格式,其文件扩展名为*.BMP.由于没有经过任何的压缩,故BMP图片往往很大.在Windows下,任何格式的图片文件都要转 ...
- 位图文件(BMP)格式以及Linux下C程序实现(转)
源:位图文件(BMP)格式以及Linux下C程序实现 说到图片,位图(Bitmap)当然是最简单的,它是Windows显示图片的基本格式,其文件扩展名为*.BMP.由于没有经过任何的压缩,故BMP图 ...
- 读取位图(bitmap)实现及其要点
位图的格式如下: 1.文件头信息块 0000-0001 :文件标识,为字母ASCII码“BM”. 0002-0005 :文件大小. 0006-0009 :保留,每字节以“00”填写. 000A-000 ...
- Windows下BMP位图格式介绍
BMP图片,是Bitmap(位图)的简称,它是windows下显示图片的基本格式.在windows下任何格式的图片文件(包括视频播放)都要转化为位图才能显示出来.各种格式的图片文件也都是在位图格式的基 ...
- 浅析BMP位图文件结构(含Demo)
浅析BMP位图文件结构(含Demo) 作者:一点一滴的Beer http://beer.cnblogs.com/ 关于BMP位图格式在网上可以找到比较详细的相关文档,有兴趣的可以搜索标题为“BMP ...
- BMP位图调色板说明
网上一搜,可以看到BMP位图结构的详细说明,这篇文章专门谈一下其中的调色板. 多少位位图并不是指每一个颜色该用多少位表示,对于颜色来说,它始终都是24位(RGB),或者是32位(RGBA),而是指该位 ...
- windows设备相关位图与设备无关位图
windows支持两种位图格式,DDB(device-dependent bitmap),DIB(device-independent bitmap).设备相关位图用于windows显示系统中,其图像 ...
随机推荐
- hdu_1698线段树成段更新
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #d ...
- 福建省赛--Problem E The Longest Straight(标记+二分)
Problem E The Longest Straight Accept: 71 Submit: 293 Time Limit: 1000 mSec Memory Limit : 327 ...
- django 笔记17 ModelForm
Model 数据库操作 验证 验证 Form -class LoginForm(Form): email = fields.EmailField() is_valid 每一个字段进行正则(字段内置正则 ...
- 4.STL六大组件
代码示例 #include <vector> #include <list> #include <iostream> #include <algorithm& ...
- 关于docker部署javaweb应用的问题
我做了两个镜像,一个mysql,一个tomcat.建完mysql容器之后,在建tomcat的时候用--link把他们链接起来了进tomcat的容器里面 /etc/hosts 也发现了mysql的ip但 ...
- Django分页和查询参数的问题
查询是通过get的方式,之前没有分页之前,url是这样的: http://hostname/search?query=port%3A8080 那么我的想法是如果分页了. 1,不带page参数了.nex ...
- ES6学习笔记(十一)Object的继承者Reflect
1.概述 Reflect对象与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API.Reflect对象的设计目的有这样几个. (1) 将Object对象的一些明显属于语言内部的方法(比如O ...
- [Codeforces 841C]Leha and Function
题目大意:定义函数F(n,k)为[1,2,3,..n]中k个元素的子集中最小元素的数学期望.现在给你两个长度相等的数列A,B(A中元素严格大于B中元素),现在要你重新排列A,使得$\sum\limit ...
- Intel NUC迷你机2019年底迎来i9 8核心16线程
Intel处理器这两年全年提速,虽然10nm新工艺受阻,但核心数在全面增加,从发烧到桌面到低功耗莫不如此,如今连NUC迷你机也要全新进化了,一年多之后就会迎来8核心16线程,而且也划入i9序列. 根据 ...
- 《SAS编程与数据挖掘商业案例》学习笔记之十八
接着曾经的<SAS编程与数据挖掘商业案例>,之前全是sas的基础知识,如今開始进入数据挖掘方面笔记,本文主要介绍数据挖掘基本流程以及应用方向,并以logistic回归为例说明. 一:数据挖 ...