设有一个n*m方格的棋盘(1≤m,n≤100)。
求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
例如:
当n=2,m=3时
正方形的个数有8个,即边长为1的正方形有6个,边长为2的正方形有2个。
长方形的个数有10个:
2*1的长方形有4个;
1*2的长方形有3个;
3*1的长方形有2个;
3*2的长方形有1个。
输入格式
每个测试文件只包含一组测试数据,每组输入两个正整数n和m。
输出格式
对于每组输入数据,出该棋盘中包含的正方形个数和长方形个数。
对于这一道题,只需搞明白-------矩形数量=正方形数量+长方形数量
将矩形数量sum求出来,在把正方形数量求出即可。
AC代码
#include<bits/stdc++.h>
using namespace std;
long long zheng, chang, sum;
// 在本题目中:矩形数量=正方形数量+长方形数量
int main()
{
int n, m;
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= m; j++)
{
zheng += min(i, j);//正方形数量
sum += i * j;
}
}
chang = sum - zheng;
cout << zheng << ' ' << chang << endl;
return 0;
}