zoukankan      html  css  js  c++  java
  • JZOJ 3831. 地图的密度

    题目

    Description

    给出:
            整数n>r>=0,

            由0、1构成的n*n的表格f,行与列用1..n表示,第j列第i行记为f[i,j]。 
            如果[i,j]和[i',j']是表格f中的两格,则他们的距离定义为max(|i-i'|,|j-j'|)。现在需要你计算一个n*n的表格w,w[i,j](表格w中第i列第j行的数)是满足以下条件的f[x,y]的和:[x,y]与[i,j]的距离不大于r。
     
    任务:
    编一个程序:
            从文件MAP.IN中读入整数n、r以及表格f。
            计算表格w。
            将表格w写入文件MAP.OUT。
     

    Input

        在文件MAP.IN的第一行有两个由一个空格隔开的非负整数n、r(0<=r<n<=250)。接下来的n行给出表格f。每一行包括n个数(0或1),分别由一个空格隔开。第j+1行的第i个数表示f[i,j]。

    Output

    文件MAP.OUT应该包括n行。其中第j行依次给出w[1,j]...w[n,j],分别由一个空格隔开。
     

    Sample Input

    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
     

    Sample Output

    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 
     

    Data Constraint

    数据规模
    对于100%的数据如题目。

    分析

     

    • 前缀和

     

    代码

     1 #include <cstdio>
     2 #include <cstring>
     3 #include <iostream>
     4 #include <algorithm>
     5 #define ll long long
     6 using namespace std;
     7 int f[300][300],ans[300][300],sum[300][300];
     8 int main()
     9 {
    10     freopen("map.in","r",stdin);
    11     freopen("map.out","w",stdout);
    12     int n,r;
    13     scanf("%d%d",&n,&r);
    14     for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) scanf("%d",&f[i][j]);
    15     for (int i=1;i<=n;i++) for (int j=1;j<=n;j++) sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+f[i][j];
    16     for (int i=1;i<=n;i++) 
    17       for (int j=1;j<=n;j++)
    18       {
    19            int ka=max(1,i-r),kka=min(n,i+r);
    20            int kb=max(1,j-r),kkb=min(n,j+r);
    21            ans[i][j]=sum[kka][kkb]-sum[ka-1][kkb]-sum[kka][kb-1]+sum[ka-1][kb-1];
    22       }
    23     for (int i=1;i<=n;i++)
    24     {
    25         for (int j=1;j<=n;j++)
    26          printf("%d ",ans[i][j]);
    27         cout<<endl; 
    28     } 
    29       
    30     return 0;
    31 }
  • 相关阅读:
    十二周学习进度
    冲刺第十天
    19.Maven 的单模块之 Spring MVC + Spring + Spring Data JPA 项目(基于 IntelliJ IDEA)
    18. Maven 的单模块 / 多模块之 Spring MVC + Spring + Mybatis 项目讲解(重点)
    16.Java Web 项目环境搭建
    17.Maven 项目介绍
    15.Postfix Completion 的使用
    16.插件讲解
    14.Emmet 讲解
    13.文件代码模板讲解
  • 原文地址:https://www.cnblogs.com/zjzjzj/p/11805601.html
Copyright © 2011-2022 走看看