zoukankan      html  css  js  c++  java
  • 蒜头君打地鼠

    蒜头君打地鼠

    蒜头君最近迷上了打地鼠,但他发现同时出现在面板上的地鼠太多,于是他想改进一下他的锤子,于是他拿出了一款 k imes kk×k 大小的正方形锤子,但是遗憾的是,这个锤子只能斜着砸。如下图所示:

    当 k=2k=2 时,若蒜头君敲击黑点,黑点和图中所有蓝色点将一并被敲到。

    当 k=3k=3 时,锤子的图案如下所示:

     
     
     
     
     
    1
    - - * - -
    2
    - * * * -
    3
    * * x * *
    4
    - * * * -
    5
    - - * - -
     
     

    kk 取其他值时以此类推。

    注意:蒜头君只能敲击面板上的格子,但锤子不一定要全部落在面板内。

    现在给定一个 n imes nn×n 的面板,每个格子可能有地鼠也可能没有地鼠,请编程计算用 k imes kk×k 大小锤子敲击时最多能打中多少地鼠。

    输入格式

    第一行 22 个整数 n,kn,k,表示面板大小和锤子大小。

    接下来 nn 行,每行 nn 个整数,若为 11 代表该格子有地鼠,若为 00 代表该格子无地鼠。不会出现其他的数字。

    输出格式

    输出一个整数,代表最多能砸到的地鼠数。

    数据规模

    对于 5050% 的测试数据,满足 1 le n le 300,1 le k le 101n300,1k10;

    对于 8080% 的测试数据,满足 1 le n le 2000,1 le k le101n2000,1k10;

    对于 100100% 的测试数据,满足 1 le n le 2000,1 le k le 1001n2000,1k100。

    样例说明

    敲击第 22 行的 00,可以敲到周围的 44 个地鼠。

    样例输入

    3 2
    0 1 1
    1 0 1
    0 1 0

    样例输出

    4

    题解:

    暴力水分

    #include<iostream>
    #include<cstdio>
    #include<cmath>
    #include<cstdlib>
    #include<cstring>
    #include<algorithm>
    using namespace std;
    typedef long long lol;
    lol n,m,a[2001][2001],ans,mmax;
    lol gi()
    {
        lol ans=0,f=1;
        char i=getchar();
        while(i<'0'||i>'9'){if(i=='-')f=-1;i=getchar();}
        while(i>='0'&&i<='9'){ans=ans*10+i-'0';i=getchar();}
        return ans*f;
    }
    int main()
    {
        lol i,j,k;
        n=gi();m=gi();
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                a[i][j]=gi();
                a[i][j]+=a[i][j-1];
            }
        }
        for(i=1;i<=n;i++)
        {
            for(j=1;j<=n;j++)
            {
                ans=0;
                ans+=a[i][min(n,j+m-1)]-a[i][max((lol)0,j-m)];
                for(k=1;k<m;k++)
                {
                    lol s=min(j+m-k-1,n),ss=max(j-m+k,(lol)0);
                    if(i+k<=n)ans+=a[i+k][s]-a[i+k][ss];
                    if(i-k>=1)ans+=a[i-k][s]-a[i-k][ss];
                }
                mmax=max(mmax,ans);
            }
        }
        printf("%lld",mmax);
        return 0;
    }
     
  • 相关阅读:
    第19篇-Kibana对Elasticsearch的实用介绍
    第18篇-用ElasticSearch索引MongoDB,一个简单的自动完成索引项目
    第17篇-使用Python的初学者Elasticsearch教程
    第16篇-关于Elasticsearch的6件不太明显的事情
    第15篇-使用Django进行ElasticSearch的简单方法
    第14篇-Python中的Elasticsearch入门
    第13篇-Elasticsearch查询-术语级查询
    第12篇-Elasticsearch全文查询
    MQTT
    rest-framework-@action()装饰器
  • 原文地址:https://www.cnblogs.com/huangdalaofighting/p/7257683.html
Copyright © 2011-2022 走看看