统计方形(数据加强版)
题目背景
1997年普及组第一题
题目描述
有一个 $n \times m$ 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。
输入格式
一行,两个正整数 $n,m$($n \leq 5000,m \leq 5000$)。
输出格式
一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。
样例 #1
样例输入 #1
2 3
样例输出 #1
8 10
思路
矩形数 = 正方形数 + 长方形数
AC代码
#include <iostream>
#include <algorithm>
#define AUTHOR "HEX9CF"
using namespace std;
long long s, r;
int main()
{
int n, m;
cin >> n >> m;
s = 0;
r = 0;
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
{
if (i == j)// 是正方形
{
s += (m - j) * (n - i);
}
r += (m - j) * (n - i);
}
}
cout << s << " " << r - s << endl;
return 0;
}