【每日一题】「土」秘法地震

「土」秘法地震

http://www.nowcoder.com/questionTerminal/c1e6857fa1d343a4a3ce7446e3d39539

思路:



#include <cstdio>
#include <iostream>
using namespace std;
const int N = 1010;
int n,m,k,a[N][N];
int check(int x1,int y1,int x2,int y2){
    return a[x2][y2] - a[x1-1][y2] - a[x2][y1-1] + a[x1-1][y1-1];
}
int main(){
    scanf("%d%d%d",&n,&m,&k);
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
            char ch;scanf(" %c",&ch);
            a[i][j] = ch - '0';
        }
    }
    for(int i = 1;i <= n;i++){
        for(int j = 1;j <= m;j++){
            a[i][j] += a[i-1][j] + a[i][j-1] - a[i-1][j-1];
        }
    }
    int ans = 0;
    for(int i = 1;i+k-1 <= n;i++){
        for(int j = 1;j+k-1 <= m;j++){
            if(check(i,j,i+k-1,j+k-1)){
                ans++;
            }
        }
    }
    printf("%d\n",ans);
    return 0;
}
全部评论

相关推荐

06-27 12:30
延安大学 C++
实习+外包,这两个公司底层融为一体了,如何评价呢?
一表renzha:之前面了一家外包的大模型,基本上都能答出来,那面试官感觉还没我懂,然后把我挂了,我都还没嫌弃他是外包,他把我挂了……
第一份工作能做外包吗?
点赞 评论 收藏
分享
深夜书店vv:腾讯是这样的,去年很多走廊都加桌子当工区
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务