统计方形(c++题解)

题目背景

1997年普及组第一题

题目描述

有一个 n×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。

输入格式

一行,两个正整数 n,m(n≤5000,m≤5000)。

输出格式

一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。

输入输出样例

输入 #1复制

2 3

输出 #1复制

8 10

_____________________________________________________________________________

分析:虽然本题类型为暴力,但是我用的半暴力半数学的方式做的,简洁省时;

写作不易,点个赞呗!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

_____________________________________________________________________________

#include 
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<

你可能感兴趣的:(c++,数据结构,算法)