码迷,mamicode.com
首页 > 其他好文 > 详细

Poland_OI_Density is pursued密度图

时间:2018-07-15 13:02:05      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:ued   const   min   out   限制   绘制   pac   单元格   font   

问题描述

在byteland上有一块地区,蕴藏了byteland上最珍贵的Bit矿物质。科学家们将这块地区划分成了nn个相同大小的单元格,并对每个单元格进行了考察研究:有的单元格中有丰富的Bit矿物质—科学家用1来标识;有的单元格蕴藏的矿物质很少—科学家用0来标识。

假设用W(i,j)和F(i’,j’)来分别表示两个单元格。那么它们之间的距离被定义为:max(|i - i‘|,|j - j‘|),例如W(1,3)和F(4,2)的距离为3。

鉴于可持续发展的思想和开采能力的限制,ByteLand当局计划以一块单元格为中心,开采与中心距离不超过R的所有单元格内的矿藏。为了选定一个合适的单元格作中心,当局希望能够预先了解:以任意一个单元格为中心时,开采量的情况。

于是,当局将一张矿藏地图交给你,上面的nn个单元格中包含数字0或1。你被要求根据这张矿藏地图,绘制出相应的“矿藏密度图”,分别以每块单元格为中心,计算与中心距离不超过R的所有标识为1的单元格个数。

 

输入文件

输入文件名:map.in

第一行有两个数字n和r(0r<n250)。

以下n行,每行n个数字。第i+1行第j个数字为单元格(i,j)的标识—0或1。

 

输出文件

输出文件名:map.out

输出文件有n行,每行n个数字。第i行第j个数字表示:与(i,j)距离不超过r的所有标识为1的单元格个数。

 

样例输入

5 1

1 0 0 0 1

1 1 1 0 0

1 0 0 0 0

0 0 0 1 1

0 1 0 0 0

 

样例输出

3 4 2 2 1

4 5 2 2 1

3 4 3 3 2

2 2 2 2 2

1 1 2 2 2

 

 

//求前缀和 ,s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+x;

特别要注意边界情况(在边界-1)

不能四重循环,否则严重TLE

 

#include<bits/stdc++.h>
using namespace std;
const int Maxn=255;

int s[Maxn][Maxn];
int ans[Maxn][Maxn];
int n,i,j,r,x;
int Xn,Xn2,Yn,Yn2;

int main()
{
    freopen("map.in","r",stdin);
    freopen("map.out","w",stdout);
    cin>>n>>r;
    memset(s,sizeof(s),0);
    s[0][0]=0;
    s[0][1]=0;
    s[1][0]=0;
    for (i=1; i<=n; i++)
    for (j=1; j<=n; j++)
    {
        cin>>x;
        s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+x;
    }
    for (int i=1; i<=n; i++)
    for (int j=1; j<=n; j++)
    {
        Xn=min(i+r,n); Yn=min(j+r,n);
        Xn2=max(i-r-1,0); Yn2=max(j-r-1,0);
        ans[i][j]=s[Xn][Yn]-s[Xn2][Yn]-s[Xn][Yn2]+s[Xn2][Yn2];    
    }
    for (int i=1; i<=n; i++)
    for (int j=1; j<=n; j++)
    {
      cout<<ans[i][j];
      if (j!=n) cout<<" ";
      if ((j==n) && (i!=n)) cout<<endl;
    }
    fclose(stdin);
    fclose(stdout);
    return 0;
}

Poland_OI_Density is pursued密度图

标签:ued   const   min   out   限制   绘制   pac   单元格   font   

原文地址:https://www.cnblogs.com/SandStorm/p/9313178.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!