题目背景
1997年普及组第一题
题目描述
有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。
输入格式
一行,两个正整数 n,m(n≤5000,m≤5000)。
输出格式
一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。
输入输出样例
输入 #1复制
2 3
输出 #1复制
8 10
_____________________________________________________________________________
分析:虽然本题类型为暴力,但是我用的半暴力半数学的方式做的,简洁省时;
写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
_____________________________________________________________________________
#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;输出正方形个数,和长方形个数
}