问题描述:

小猪在小学中认识了很多的字,终于会写一点作文了。某天小猪买了一张方格稿纸来写作文,n 行 m 列。
某天小猪的邻居小小猪来小猪家玩,用黑墨水笔把小猪新买的方格稿纸涂黑了很多格子。每个格子不是完全黑色就是完全白色。
小猪不能责怪小小猪。作文写不成了,他觉得很无聊,就开始数里面有多少魔幻方阵。
如果稿纸中一个 k×k 的正方形区域满足以下两个条件,那么它就是魔幻方阵:
1.黑白格子的数量差不能超过1;
2.k不能小于2。
现在请你帮小猪求出他被染色的稿纸里面有多少个魔幻方阵。

输入格式:

第一行有二个正整数 n 和 m(互相之间以一个空格分隔),表示稿纸共有 n行 m 列。
接下来 n 行,每行有 m 个 0 或 1 的整数(互相之间以一个空格分隔),代表每个格子的颜色。如果这个数是 1 则为黑色,是 0 则为白色。

输出格式:

仅有一行,该行只有一个整数,表示稿纸中魔幻方阵的个数。

输入样例:

5 5
1 0 1 1 1
1 0 1 0 1
1 1 0 1 1
1 0 0 1 1
1 1 1 1 1

输出样例:

9
数据规模:
50%的数据,1≤n≤10,1≤m≤10;
75%的数据,1≤n≤180,1≤m≤180;
100%的数据,1≤n≤300,1≤m≤300。


解题思路:

数据不大,O(n^3)能过。
枚举方阵边长和左上角顶点即可。
求这个方阵中的黑色方格数,二维前缀和即可。

代码:

#include<cmath>
#include<cstdlib>
#include<iostream>
using namespace std;
int n,m,a[301][301],q[301][301],s=0;
int main()
{freopen("paint.in","r",stdin);freopen("paint.out","w",stdout);cin>>n>>m;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){cin>>a[i][j];q[i][j]=q[i-1][j]+q[i][j-1]-q[i-1][j-1]+a[i][j];}for(int k=2;k<=n&&k<=m;k++)for(int i=1;i<=n-k+1;i++)for(int j=1;j<=m-k+1;j++){int x=i+k-1,y=j+k-1;int bl=q[x][y]-q[i-1][y]-q[x][j-1]+q[i-1][j-1];int wh=k*k-bl;if(abs(bl-wh)<=1)s++;}cout<<s;return 0;
}

C++ 方格稿纸(paint)相关推荐

  1. 【NOIP模拟】方格稿纸

    题面 小 y 终于在小学学会了一些字.词.句子, 会写一点作文了.某一天,小 y 买 了一张方格稿纸来写作文, 稿纸是 n 行 m 列的,形状如下所示(图中 n=m=5): 某天小 y 的邻居小 x ...

  2. 符号说明表怎么做_教会你的孩子正确使用标点符号

    所谓的标点符号包括点号和标号.使用时,不仅要掌握它们的用法,还要注意它们的规范书写. 1.凡是点号(句号.问号.感叹号.逗号.顿号.分号.冒号),都应该在原稿纸上占一方格,写在空格的左方.①句号.逗号 ...

  3. 居中符号怎么打_小学语文标点符号的正确书写格式(附图文展示),让孩子牢记考试不丢分!...

    自家孩子平时书写和考试时候,标点符号方面的错误总是出其不意,让家长防不胜防,点虽小但是也都是分数,现在快来看看标点符号的正确书写吧!老师提醒孩子们考试千万别再丢分啦~  在方格稿纸上的书写格式 1.在 ...

  4. word2010使用记录

    安装时提示: installer无法更新被保护的一个或多个文件, 解决方法是: 将三个dll文件,放在 c:\program files\common files\ms shared\web serv ...

  5. 微计算机应用是核心吗,北大核心哪个杂志好投

    北大核心哪个杂志好投 作者:核心期刊目录查询 发布时间:2016-05-19 北大核心哪个杂志好投? 现在北大核心期刊有很多,不同的专业做针对的要求是不一样的,不过总体来说核心类的期刊与普刊对比来说要 ...

  6. word中段落里面的选项“如果定义了文档网格,则对齐到网格”起什么作用?

    上面这张图片大家都不陌生吧,但相信很多朋友都不知道"文档网格"的作用.我最近在调整论文格式时就被这个所谓的"文档网格"给搞惨啦! 出现的问题是:我完全按照论文的 ...

  7. 【读书笔记《Android游戏编程之从零开始》】20.游戏开发基础(游戏数据存储)...

    对于数据的存储,Android 提供了4种保存方式. (1)SharedPreference 此方法适用于简单数据的保持,文如其名,属于配置性质的保存,不适合比较大的情况,默认存放在手机内存里 (2) ...

  8. WPS表格:使用技巧

    文章目录 1.时间 1)调整时间格式 ① 连接符 ② 将"常规.短日期.长日期"格式下的时间调整为自定格式 ③出现"数字"的情况 ④ 日期格式方便筛选.统计:转 ...

  9. 商丘市计算机学校网站,2020年河南省商丘市计算机学校高三语文月考试题.docx

    2020年河南省商丘市计算机学校高三语文月考试题 一. 现代文阅读(35分,共3题) 1. 现代文(文学类,实用类文本)阅读(共20分,共4小题) ? 我是一杆什么笔 郭文斌 ? 深入贺兰山,其实是深 ...

  10. 选修课:唐宋词鉴赏最终作业

    谈谈你对雅正词派的认识 要求: 1.不少于1200字 2.独立成篇,内容饱满. 3.用16开方格稿纸誊写.姓名,学号标注于首页天头. 后面空着,等着自己慢慢写. =================== ...

最新文章

  1. 图解Windows下开发Objective-C程序之一 - 搭建Objective-C开发环境
  2. php 文字换行,用Php中的Fpdf换行文本
  3. 安装ESXI 5.1
  4. 21_resultMap和resultType总结
  5. Android ListView几个重要属性
  6. P4770-[NOI2018]你的名字【SAM,线段树合并】
  7. 技术管理者必备管理模板
  8. 办公 自动化 录制行为_我们可以自动化开放行为吗?
  9. [神奇的问题啊,GetProcAddress一个不存在的API时,返回非空值,且指向另一个API]谜团解开,错不在GetProcAddress...
  10. rust显卡要求 steam_Steam夏促游戏销量排行,Epic称暂时不要买地平线黎明时分,虚幻5引擎配置要求不高,热血无赖电影开拍,Steam夏促育碧专区...
  11. c++构造函数分类说明
  12. RHEL6.4 NFS文件共享服务搭建
  13. 全网最全的 JavaScript 数组各个方法用途的思维导图
  14. 如何批量打印PDF文件
  15. 【技术答疑】Swarm BZZ常见技术问题解答
  16. RW文档翻译学习——RW-BT-SW-COMMON-FS
  17. Android ANR原理代码分析(三)
  18. 腾讯云图 数据源 api
  19. 《电子病历系统》管理员手册
  20. anaconda 创建虚拟环境、激活及使用的基本方法

热门文章

  1. PassMark 更新排行,苹果 M1 杀疯了
  2. 从零开始学习oracle(2) oracle11g的远程链接和数据库调试
  3. 我为账户和推广计划指定了不同的推广地域,以哪一个为准?
  4. zui之0001 npm install zui
  5. [转贴]色彩调和的原理
  6. ps如何图片调色教程及ps有哪些好用的调色滤镜插件
  7. Uptime Kuma一款开源监控工具
  8. 如何恢复、打开、开启默认共享ipc$ c$ Dameware安装出错
  9. c语言转义字符o用法,gogo体育下载官网-gogo体育下载官网
  10. VB+ADO+Access如何修改数据