题目如下
题目描述
有一个 n \times mn×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。
输入格式
一行,两个正整数 n,mn,m(n \leq 5000,m \leq 5000n≤5000,m≤5000)。
输出格式
一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。
输入输出样例
输入 #1复制
2 3
输出 #1复制
8 10
很简单的一道题暴力枚举
当i=j时为正方形,num_z=(n-i+1)*(m-j+1)
其他时刻则为长方形,因此代码如下
数据记得开long long
#include<iostream>
using namespace std;
int n,m;
long long num_c=0,num_z=0;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
if(i==j)
num_z+=(n-i+1)*(m-j+1);
else
num_c+=(n-i+1)*(m-j+1);
}
}
cout<<num_z<<" "<<num_c;
return 0;
}