NOIP1997】【Luogu1548】棋盘问题(枚举正方形个数)

网友投稿 702 2022-05-28

【NOIP1997】【Luogu1548】棋盘问题(枚举正方形个数)

给定一个N*M的棋盘

求子正方形和长方形个数

n,m<100

乍一看毫无思路

看了题解基本都是找规律推公式(不过如果是考场的话我觉得我应该做不到吧QwQ,平时嘛,,就更做不到了。。

数据范围才100,一副爱咋搞咋搞的样子(暴力枚举)

——

怎样确定一个长方形?两个顶点呗。。。

那就枚举两个顶点,四场循环,复杂度 O(n2m2) O ( n 2 m 2 ) 。

#include using namespace std; int main(){ int n, m; cin>>n>>m; int zheng = 0, chang = 0; //两个顶点确定一个长(正)方形,坐标从0开始枚举啊 for(int i = 0; i <= n; i++){//左上角(i,j) for(int j = 0; j <= m; j++){ for(int k = i+1; k <= n; k++){//右下角(k,l) for(int l = j+1; l <= m; l++){ if(k-i == l-j)zheng++; else chang++; } } } } cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux下获取系统的磁盘使用情况、内存使用情况使用QT界面进行显示
下一篇:Linux 操作系统原理 — 文件系统 — 虚拟文件系统
相关文章