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