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

「土」秘法地震

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;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 10:48
点赞 评论 收藏
分享
11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
10-18 13:01
已编辑
西安理工大学 C++
小米内推大使:建议技能还是放上面吧,hr和技术面试官第一眼想看的应该是技能点和他们岗位是否匹配
点赞 评论 收藏
分享
字节 飞书绩效团队 (n+2) * 15 + 1k * 12 + 1w
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务