#P1639. 根据矩阵的行列位置计算矩阵元素的值.3.填空题
根据矩阵的行列位置计算矩阵元素的值.3.填空题
问题描述
有数字矩阵,共 n 行 m 列,其赋值的顺序如下图所示,是先赋值上方的行再赋值下方的行;如果是奇数行,从左到右赋值,如果是偶数行,从右到做赋值。
下面是 4 行 5 列的矩阵的样子:
1 | 2 | 3 | 4 | 5 |
10 | 9 | 8 | 7 | 6 |
11 | 12 | 13 | 14 | 15 |
20 | 19 | 18 | 17 | 16 |
问 :第 i 行 第 j 列的数字是什么?
思维路径
-
按照赋值的顺序,所问到的方格之前已经完整赋值了 {{ input(1) }} 行。
-
如果是奇数行,按照赋值的顺序,在这个格子是该行的第{{ input(2) }}个格子;如果是偶数行,按照赋值顺序,这个格子是该行的第{{ input(3) }}个格子。
-
因此,如果 i 是奇数,第 i 行 j 列格子上的数字应该是 {{ input(4) }};如果 j 是偶数,第 i 行 j 列格子上的数字应该是 {{ input(5) }}。
实战训练
-
n = 20 , m = 13 , 第 14 行 ,第 8 列的数字是:{{ input(6) }}
-
n = 157 , m = 79 , 第 101 行 ,第 56 列的数字是:{{ input(7) }}
-
n = 997 , m = 999 , 第 934 行 ,第 379 列的数字是:{{ input(8) }}
程序填空
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,i,j;
cin>>n>>m;
cin>>i>>j;
if(i%2==1)
cout<<填空(1);
else
cout<<填空(2);
return 0;
}
填空(1): {{ input(9) }}
填空(2): {{ input(10) }}