小慕最近在整理一份重要的项目文档,文档中的数据被排列成一个 \(N × N\) 的表格,里面填满了从 \(1\) 到 \(N^2\) 的正整数,每个数字代表一个关键数据项。 然而,这份表格目前处于混乱状态,数据分布错乱,无法直接用于分析。为了恢复数据的正确顺序,小慕需要将表格变换成。这个顺序是指:从左上角 \((0, 0)\) 出发,沿着顺时针方向一圈一圈地向内前进,直到覆盖整个表格,数字依次为 \(1, 2, 3, …, N^2\)。 小慕可以使用一种称为“数据迁移”的操作。每次,她可以选择表格中的某个元素,将其与其在螺旋顺序中的下一个元素交换位置。通过不断地进行这种交换,小慕希望将混乱的表格还原为标准的螺旋数据表。 你的任务是帮助小慕计算出,将当前表格变换为目标螺旋序列所需的。 例如,在 \(3 × 3\) 的表格中,螺旋顺序为: `[(0,0) → (0,1) → (0,2) → (1,2) → (2,2) → (2,1) → (2,0) → (1,0) → (1,1)]` 请注意,由于操作次数可能很大,最终答案请对 \(1000000007\) 取模。
提示:带虚线的词点一下有通俗解释。
时间限制 1000 ms · 内存限制 128 MB