第二天叫醒我的不是闹钟,是梦想!

题目描述
帕秋莉掌握了一种土属性魔法

这种魔法可以在一片k×k大小的一个正方形区域内产生地震

但是如果某片即将产生地震的区域内有建筑物,帕秋莉会停止施法

整个地图大小为n×m,其中一些地方有建筑

请问有多少种可能的情况,使得帕秋莉会停止施法

输入描述:
第一行三个数n, m, k,意义见描述
接下来一个n×m的01矩阵表示这篇区域的情况,1表示这个地方有建筑
输出描述:
输出一个数表示答案
示例1
输入
复制
4 4 2
1000
0100
0000
0001
输出
复制

5
备注:
对于30%的数据,n, m≤30
对于100%的数据,n, m≤1000,k≤min(n, m)

#include<bits/stdc++.h>
using namespace std;
const int N=1100;
int a[N][N];
char s[N][N];
int n,m,k;
int check(int x1,int y1,int x2,int y2)
{return a[x2][y2]-a[x2][y1-1]-a[x1-1][y2]+a[x1-1][y1-1];
}
int main()
{char c;cin>>n>>m>>k;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++) cin>>s[i][j];for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){a[i][j]=s[i][j]-'0';a[i][j]+=a[i-1][j]+a[i][j-1]-a[i-1][j-1];}int res=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)) res++;}cout<<res<<endl;
}

「土」秘法地震----二维前缀和相关推荐

  1. 暑假每日算法学习打卡(十)----[HNOI2003]激光炸弹,「土」秘法地震(二维前缀和),Captcha Cracker【牛客】

    [HNOI2003]激光炸弹 题目描述  一种新型的激光炸弹,可以摧毁一个边长为R的正方形内的所有的目标. 现在地图上有n(N ≤ 10000)个目标,用整数Xi,Yi(其值在[0,5000])表示目 ...

  2. 牛客网【每日一题】5月18日 「土」秘法地震

    链接: 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld 题目描述 ...

  3. 【二维前缀和】304. 二维区域和检索 - 矩阵不可变

    目录 题目 前缀和解法(二维) 二维vector 定义 这道题是「303. 区域和检索 - 数组不可变」的进阶,第 303 题是在一维数组中做区域和检索,这道题是在二维矩阵中做区域和检索. 题目 30 ...

  4. 12871: 八云紫(二维前缀和)

    题目描述 在幻想乡,八云紫是最像妖怪的妖怪.她的境符「四重结界」能够消除结界里面所有的弹幕.假设现在八云紫面前有一块N行M列的弹幕群,每一个单位面积内有分值有num[i][j]的弹幕.八云紫可以将一块 ...

  5. 【CS 1373】射命丸文(二维前缀和)

    emmmm又是一个东方人物[好吧这不是重点],下面的前缀和和二维前缀和才是23333 去寻找偷拍记者吧 题目描述 Description 在幻想乡,射命丸文是以偷拍闻名的鸦天狗.当然,文文的照相机可不 ...

  6. Monitor CodeForces - 846D ——二维前缀和

    Recently Luba bought a monitor. Mon itor is a rectangular matrix of size n × m. But then she started ...

  7. 二维前缀和+差分 HDU6514 Monitor

    Monitor [ HDU - 6514 ] 题目大意:给你个n×m的区域,每个区域被选中标记为1,没被选中标记为0,然后给一些标记的区域,查询若干个区域问是否有0的 一道二维前缀和的题目,想通没什么 ...

  8. 牛妹吃豆子(二维前缀和模板,修改+求和)

    调了半天忘了要求两次前缀和了. 先对前缀和数组进行修改, 第一次求前缀和得到的是修改后的原矩阵,再求一次前缀和得到二维前缀和,然后根据容斥定理求区间的二维前缀和即可 #include<iostr ...

  9. 【每日DP】day3 P1387 最大正方形(奇怪的DP增加了 / 二维前缀和)难度⭐⭐★

    奇怪的DP增加了 这道题,刚看见真是一脸懵逼,看了题解才明白. 本题中神奇的转移方程是: f[i][j]=min(min(f[i][j−1],f[i−1][j]),f[i−1][j−1])+1f[i] ...

最新文章

  1. Git 常见问题记录
  2. IPv6 — 与 5G 共荣共生
  3. SQLite编译(How To Compile SQLite)
  4. 第 5 章 第二个 activity
  5. 26.进程空间和线程空间
  6. 用JavaScript做301转向
  7. 让phpstorm 支持 vue文件并且语法高亮
  8. (七)深入浅出TCPIP之深入浅出TCPIP之TCP重传机制
  9. es6 Generator函数的应用
  10. 基于JAVA+SpringBoot+Vue+Mybatis+MYSQL的大学生健康档案管理系统
  11. 微服务的隔离和熔断机制
  12. 【软考】程序设计语言复习指南
  13. c#数据库事务锁类型
  14. 【生信进阶练习1000days】day5-TxDb等注释包的使用
  15. java请求url拼接xml_java访问一个URL,会返回给你一个XML格式的数据,该怎么实现?...
  16. 地图上导出坐标html文件,如何将标签的坐标、海拔等属性导出到TXT文本中
  17. Data Structures and Algorithm Analysis in C, Second Edition(《数据结构与算法分析》C语言版 第二版)——Mark Allen Weiss
  18. 注意力机制与V_net神经网络的介绍与实现
  19. 个人项目-仿微信小打卡小程序
  20. N81 UCWEB 7.0,UC浏览器7.0版本

热门文章

  1. ubuntu20 extundelete 不能工作
  2. Deeplab系列算法
  3. 机器学习在高德地图轨迹分类的探索和应用
  4. 「技术亦人生」端泽的Android学习百宝箱
  5. Cocos Creator实例-制作抽奖池
  6. GNSS位移监测站 怎么工作
  7. Linux网课笔记-Linux指令练习题
  8. np.power()用法总结
  9. html编辑contentbuilder,HTML BUILDER
  10. 字典树01字典树算法笔记