📌  相关文章
📜  Polycarp 找到了一张由 n 行 m 列组成的矩形表.他注意到表格的每个单元格都有其编号,通过以下算法“按列”获得:codeforces 解决方案 - C++ (1)

📅  最后修改于: 2023-12-03 15:03:48.320000             🧑  作者: Mango

Polycarp的矩形表

Polycarp找到了一张由$n$行$m$列组成的矩形表。他注意到表格的每个单元格都有其编号,通过以下算法“按列”获得:

int k = 1;
for (int j = 1; j <= m; j++) {
    for (int i = 1; i <= n; i++) {
        cell_id[i][j] = k;
        k++;
    }
}

其中cell_id[i][j]表示表格中第$i$行、第$j$列单元格的编号,从$1$开始顺序编号。

现在,Polycarp想要知道表格中,下列单元格的编号分别是多少:

  • 表格中第$r$行、第$c$列单元格($1\leq r\leq n,1\leq c\leq m$)
  • 表格中第$x$个单元格是哪个单元格($1\leq x\leq nm$)

请你帮助Polycarp完成这个任务。

输入格式

第一行包含两个整数$n$和$m$。

接下来一行包含一个整数$q$,表示询问的个数。

接下来$q$行,每行包含三个整数$type,r,c$表示一次询问。其中$type=1$表示查询第$r$行、第$c$列单元格的编号,$type=2$表示查询第$x$个单元格的行列编号。

输出格式

对于每个询问,输出一行,包含一个整数,表示查询到的编号。

数据范围

$1\leq n,m\leq 10^3$

$1\leq q\leq 10^3$

输入样例
3 4
6
1 1 1
1 2 3
2 5
1 3 2
2 10
2 8
输出样例
1
10
2
8
4
7
## 代码片段