Problem D: 棋盘问题

Problem D: 棋盘问题

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

#include <iostream>
using namespace std;

int main() {
    int n, m;
    cin >> n >> m;
    int zfx = 0, cfx = 0; //分别计正方形、长方形的个数

    // 第一重循环:枚举 x1
        // 第二重循环:枚举 y1
            // 第三重循环:枚举 x2
                // 第四重循环:枚举 y2
                    // 长 = x2-x1
                    // 宽 = y2-y1
                    // 如果这个是个正方形,则 zfx 增加 1
                    // 否则 cfx 增加 1

    // 分别输出正方形和长方形的个数。
    return 0;
}

Input

一行两个整数 

Output

一行两个整数,表示正方形的个数与长方形的个数。

Sample Input Copy

2 3

Sample Output Copy

8 10

HINT

试图找出所有的矩形。

左上角、右下角两个点确定唯一矩形

左上角(x1,y1),右下角(x2,y2)

x1的范围0n-1y1的范围0m-1

x2x1的下面,y2y1的右面

x2的范围x1+1ny2的范围y1+1m

然后对于每种情况,判断哪个是长方形,哪个是正方形。

这其实就是枚举的思想。不重复,不遗漏