http://oj.tsinsen.com/A1108###
分析:简单的组合分析题目,正方形的数量按边长L枚举,考虑在两边各能有多少种取一线段(长为L)的方法,长方形类似,注意边长枚举边界与算式对应就好了。
代码:
#include "bits/stdc++.h"
using namespace std;
int n, m, RRes, SRes;
int main() {
scanf("%d%d", &n, &m);
if (n > m) swap(n, m);
for (int k = 0; k < n; ++k)
SRes += (m - k) * (n - k);
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
if (i != j) RRes += (m - i) * (n - j);
printf("%d %d\n", SRes, RRes);
return 0;
}