题目背景
1997年普及组第一题
题目描述
有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。
输入格式
一行,两个正整数 n,m(n≤5000,m≤5000)。
输出格式
一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。
输入输出样例
输入 #1复制
2 3
输出 #1复制
8 10
_____________________________________________________________________________文章来源地址https://www.toymoban.com/news/detail-626639.html
分析:虽然本题类型为暴力,但是我用的半暴力半数学的方式做的,简洁省时;文章来源:https://www.toymoban.com/news/detail-626639.html
写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_____________________________________________________________________________
#include <bits/stdc++.h>
using namespace std;
int main(){
int n,m,ans=0,cnt=0,bnu=0;
cin>>n>>m;
for(int i=1;i<=min(n,m);i++){
ans+=(n-i+1)*(m-i+1);记录有多少个正方形
}
for(int i=1;i<=n;i++)cnt+=n-i+1;记录矩形才有多少中可能
for(int i=1;i<=m;i++)bnu+=m-i+1;记录矩形宽有多少种可能
cout<<ans<<" "<<bnu*cnt-ans;输出正方形个数,和长方形个数
}
到了这里,关于统计方形(c++题解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!