SP3876 TABLIC - Tablica

题目描述

Ivo 有一个 $N \times N$ 的矩阵。这个矩阵中填入了从 $1$ 到 $N^2$ 的整数,并且是按行序排布的。在这个矩阵上可以进行以下两种操作: 1. 行旋转——将某一行的所有元素都向右移动一位,原本在最后一列的数会移动到这一行的第一列。 2. 列旋转——将某一列的所有元素都向下移动一位,原本在最后一行的数会移动到这一列的第一行。 Ivo 有时候希望将某个特定的数字 $X$ 移动到位置 $(R, C)$,操作过程如下: - 如果 $X$ 不在第 $C$ 列,就对 $X$ 所在的行进行行旋转,直到 $X$ 到达目标列。 - 如果 $X$ 不在第 $R$ 行,就对 $X$ 所在的列进行列旋转,直到 $X$ 到达目标行。 Ivo 总共有 $K$ 次这样的移动需求。请编写一个程序,计算出每次移动所需的旋转次数。

输入格式

第一行输入包含两个整数 $N$ 和 $K$,分别表示矩阵的边长和移动的次数,其中 $2 \leq N \leq 10,000$,$1 \leq K \leq 1,000$。 接下来的 $K$ 行,每行包含三个整数 $X$、$R$ 和 $C$,分别代表 Ivo 想要移动的数字以及目标位置 $(R, C)$。每个移动请求都按给定的顺序处理。

输出格式

对于每个移动请求,输出一行,表示移动所需的旋转次数。 **本翻译由 AI 自动生成**