Problem E: 数字螺旋
📝 题目描述
根据数字螺旋规律,对于每一次询问快速输出结果
🔑 关键
找规律
💡 思路分析
-
先列表
\[ \begin{align*} & (1, 1)-1 \\ & (1, 2)-2 ~~ (2, 2)-3 ~~ (2, 1)-4 \\ & (3, 1)-5 ~~ (3, 2)-6 ~~ (3, 3)-7 ~~ (2, 3)-8 ~~ (1, 3)-9\\ \end{align*} \]发现对角线 \(i=j\) 的位置上值为每个 '⌋' 最大
根据高中数学中数列相关知识,可推出 \(val_k = val_1 + k^2 - k ~~~~~(val_1 = 1)\)
-
通过列表又发现两坐标加和从对角线位置分别递减(每次 \(\pm 1\))
同时与对应元素值也是每次 \(\pm 1\))
-
分类讨论奇偶即可
🖥️ 代码实现
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|