1.题目:
2.思路:
把大矩形放到平面坐标上,计算每一个小矩形的长和宽,进行比较;
3.图像理解:
4.代码:
#include<iostream>
using namespace std;
int n,m;
int sumC,sumZ;//sumC记录长方形个数;sumZ记录正方形个数
int a[100][100],b[100][100];//a[100][100]记录长度,b[100][100]记录宽度;
int main()
{
cin>>n>>m;
//先给矩形的每个顶点建立坐标;长为0到n,宽为0到m;然后计算每个矩形长和宽;进行比较。
for(int i=n;i>0;i--){
for(int j=i-1;j>=0;j--){
a[i][j]=i-j;//计算i点到j点的矩形的长;
for(int k=m;k>0;k--){
for(int l=k-1;l>=0;l--){
b[k][l]=k-l;//计算k点到l点的矩形的宽
if(a[i][j]==b[k][l]){//如果长等于宽,正方形个数加1;
sumZ++;
}
else{//否则长方形个数加1;
sumC++;
}
}
}
}
}
cout<<sumZ<<' '<<sumC;
return 0;
}