洛谷-P1548 [NOIP1997 普及组] 棋盘问题

洛谷-P1548 [NOIP1997 普及组] 棋盘问题

原题链接:https://www.luogu.com.cn/problem/P1548


题目描述

设有一个\(N \times M\)方格的棋盘\((1≤N≤100,1≤M≤100)\)

求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。

例如:当 \(N=2, M=3\)时: img

正方形的个数有\(8\)个:即边长为\(1\)的正方形有\(6\)个;

边长为\(2\)的正方形有\(2\)个。

长方形的个数有\(10\)个:

\(2 \times 1\)的长方形有\(4\)img

\(1 \times 2\)的长方形有\(3\)个: img

\(3 \times 1\)的长方形有\(2\)个: img

\(3 \times 2\)的长方形有\(1\)个: img

如上例:输入:\(2,3\)

输出:\(8,10\)

输入格式

N,M

输出格式

正方形的个数与长方形的个数

输入输出样例

输入 #1

2 3

输出 #1

8 10

说明/提示

【题目来源】

NOIP 1997 普及组第一题

C++代码

#include <iostream>
using namespace std;

int main() {
    int n, m, ans1=0, ans2=0;
    cin >> n >> m;
    for (int i=0; i<n; ++i)
        for (int j=0; j<m; ++j)
            for (int ii=i+1; ii<=n; ++ii)
                for (int jj=j+1; jj<=m; ++jj)
                    if (ii-i == jj-j)
                        ++ans1;
                    else
                        ++ans2;
    cout << ans1 << ' ' << ans2 << endl;
    return 0;
}
posted @ 2021-01-27 19:41  yuzec  阅读(692)  评论(0编辑  收藏  举报