题意简述
给定
N
N
N 行
M
M
M 列的矩阵,从左上角依次递增填充,下面给出
3
3
3 行
4
4
4 列的矩阵示例,如图。
找出相邻两个格子相差数字为
1
1
1 的数对个数。
题目分析
不难发现,当且仅当列宽
M
M
M 为
1
1
1 时,上下两个格子相差值才为
1
1
1,其余情况下符合要求的数对都在各行中,可以理解为统计列之间的夹缝个数,而每行的夹缝个数恰为列宽
M
−
1
M-1
M−1(小学数学植树问题)。
综上两种情况,可以得出答案。
代码
#include <iostream>
using namespace std;
int N, M;
int main()
{
cin >> N >> M;
if (M == 1)
{
cout << N - 1;
return 0;
}
cout << N * (M - 1);
return 0;
}