题目
给定n*m的正方形,求其中能够容纳的正方形和长方形的数量。原题
思路
暴力枚举nm的大矩形中能够容纳(n-i+1)(m-j+1)个小的长i,宽j的矩形。具体原因why,其中i==j时就是正方形。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m;
long long total=0;
long long zheng=0;
cin>>n>>m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
total+=(n-i+1)*(m-j+1);
if(i==j){
zheng+=(n-i+1)*(m-j+1);
}
}
}
cout<<zheng<<" "<<total-zheng<<endl;
return 0;
}