洛谷-P1548 [NOIP1997 普及组] 棋盘问题
洛谷-P1548 [NOIP1997 普及组] 棋盘问题
题目描述
设有一个\(N \times M\)方格的棋盘\((1≤N≤100,1≤M≤100)\)
求出该棋盘中包含有多少个正方形、多少个长方形(不包括正方形)。
例如:当 \(N=2, M=3\)时:
正方形的个数有\(8\)个:即边长为\(1\)的正方形有\(6\)个;
边长为\(2\)的正方形有\(2\)个。
长方形的个数有\(10\)个:
即
\(2 \times 1\)的长方形有\(4\)个
\(1 \times 2\)的长方形有\(3\)个:
\(3 \times 1\)的长方形有\(2\)个:
\(3 \times 2\)的长方形有\(1\)个:
如上例:输入:\(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;
}