题面

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

某天小 y 的邻居小 x 来小 y 家玩, 无聊地用黑墨水笔把小 y 新买的方格稿纸 涂黑了很多格子。每个格子不是完全黑色就是完全白色,如下图所示。

小 y 不能责怪小 x。作文写不成了,他也觉得很无聊,就开始数里面有多少 “魔 幻方阵”。如果稿纸中一个 k×k 的正方形区域满足以下两个条件,那么它就是魔幻 方阵:

(1) 黑白格子的数量差不能超过 1; (2) k 不能小于 2。 上图染色后的方格稿纸共有 9 个魔幻方阵(6 个 2×2 的魔幻方阵, 3 个 3×3 的魔幻方阵)。

现在,请你帮助小 y 编程计算被染色的稿纸里面有多少个魔幻方阵。

对于 50%的数据满足: 1≤n≤10, 1≤m≤10; 对于 75%的数据满足: 1≤n≤180, 1≤m≤180; 对于 100%的数据满足: 1≤n≤300, 1≤m≤300。

分析

n3,二维前缀和随便乱搞。

代码

#include<bits/stdc++.h>
using namespace std;
#define N 303
int w,b,n,m,ans;
int a[N][N],white[N][N],black[N][N];
inline void read(int &x)
{x=0;char ch=getchar();while(ch<'0'||ch>'9')ch=getchar();while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
}
int main()
{read(n),read(m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++){read(a[i][j]);white[i][j]=white[i-1][j]+white[i][j-1]-white[i-1][j-1]+(a[i][j]?0:1);black[i][j]=black[i-1][j]+black[i][j-1]-black[i-1][j-1]+(a[i][j]?1:0);}        for(int k=2;k<=min(n,m);k++)for(int i=k;i<=n;i++)for(int j=k;j<=m;j++){w=white[i][j]-white[i-k][j]-white[i][j-k]+white[i-k][j-k];b=black[i][j]-black[i-k][j]-black[i][j-k]+black[i-k][j-k];if(abs(w-b)<=1)ans++;}    printf("%d\n",ans);return 0;
}

转载于:https://www.cnblogs.com/NSD-email0820/p/9814324.html

【NOIP模拟】方格稿纸相关推荐

  1. NOI.AC NOIP模拟赛 第六场 游记

    NOI.AC NOIP模拟赛 第六场 游记 queen 题目大意: 在一个\(n\times n(n\le10^5)\)的棋盘上,放有\(m(m\le10^5)\)个皇后,其中每一个皇后都可以向上.下 ...

  2. 【noip模拟赛4】Matrix67的派对 暴力dfs

    [noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们安排 ...

  3. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  4. 闵梓轩大佬のnoip模拟题D1 总结 2017/10/26

    背景 题目概括 T1 题面 分析 90分算法 满分算法 T2 题面 分析 部分分算法 满分算法 满分代码 T3 题面 分析 代码 总结 背景 这道题目是去年的金牌大佬闵梓轩在一年前出的一套noip模拟 ...

  5. jyzy noip模拟赛5.22-2

    不知道哪来的题 jyzy noip模拟赛5.22-2 样例输入 1 2 3 4 样例输出 0.200000000000000 数据 |a|,|b|,|c|,|d|<=1e9 很多大佬迅速想到二分 ...

  6. NOIP模拟赛csy2021/10/30

    NOIP模拟赛csy2021/10/30 比赛时间规划 赛后反思与总结 这..总的来说感觉打的很不好,根本没有状态,有一部分原因是今天来晚了,太慌,更多的还是这次题感觉很难o(╥﹏╥)o 比赛时间规划 ...

  7. NOIP模拟(10.22)T2 杆子的排列

    杆子的排列 题目背景: 10.22 NOIP模拟作业T2 分析:DP 定义状态dp[i][j][k]表示,目前枚举到第i大的数(即n - i + 1)那么显然如果这一个数放在左边,可以在左边被看到,放 ...

  8. Noip 模拟练习5

    Noip 模拟练习5 满分300,本人240.修正后300. 难度中等. 太空密码 Description 人类一直致力于探索地外文明,为此科学家们建造了一个巨大的射电望远镜 用于接收宇宙射线.一天从 ...

  9. NOIP模拟赛 四校联考 递推 + 分类讨论 + 树上期望

    NOIP 模拟题 题目名称兔子被子蚊子 源程序文件名rabbit.cpp quilt.cpp mosquito.cpp 输入文件名rabbit.in quilt.in mosquito.in 输出文件 ...

最新文章

  1. redis代码 支持的数据结构
  2. Python之区块链入门,揭秘比特币
  3. C# 模拟键盘操作SendKey(),SendKeys()
  4. android studio编译找不到程序包,【图片】哥哥们,android studio 打包的安装包手机无法识别怎么破【androidstudio吧】_百度贴吧...
  5. Linux下Tomcat启动报错:port already in use
  6. idea解决maven全局配置
  7. plsql轻量版基本语法
  8. 数据库设计-规范化规则
  9. Bootstrap HTML编码规范之属性顺序
  10. Kotlin入门(6)条件分支的实现
  11. 安卓连接java_从零学习安卓自动化(java+appium方向):手机连接Appium(二)
  12. NCM转MP3神奇的网页
  13. Python学习日志--摆动吧!钟摆!
  14. 笔记本电脑更换固态硬盘
  15. 微信防封链接服务器,微信防红防封真的存在吗?
  16. 中国鹊桥,国际交友网
  17. “Red and Black(红黑瓷砖),ZOJ2165”的一种解法
  18. linux usb 全向麦克风,派尼珂USB视频会议全向阵列麦克风NK-OM300U
  19. 手游代理是怎么做的?
  20. pl/sql Developser 的官方网站地址

热门文章

  1. 2015年第六届蓝桥杯 - 省赛 - C/C++大学A组 - C.奇妙的数字
  2. 【ARM】Tiny4412裸板编程之Chip ID
  3. 【Linux】一步一步学Linux——tracepath命令(168)
  4. [Qt教程] 第18篇 2D绘图(八)双缓冲绘图
  5. mysql容器操作_如何使用运行MySQL构建Docker容器?
  6. python编写格斗游戏_C语言实现的开源 2D 格斗游戏: Punch Kick
  7. java 登录数据前端加密+后台验证RSA
  8. 计算机除法和取余在实际运用中的意义
  9. 1015 德才论 (25 分)(c语言)
  10. 关于Javaweb部署到linux服务器产生乱码?的原因分析