题解:P8689 [蓝桥杯 2019 国 A] 填空问题
发表于 | 更新于 | 题解 | 题解 题解:P8689 [蓝桥杯 2019 国 A] 填空问题思路A由于数据规模不大($30 \times 50 = 1500$ 个字符),我们可以采用暴力枚举的方法:
垂直方向:对每一行 $i$,枚举所有可能的三个列位置($j₁ < j₂ < j₃$),检查字符是否满足 $mat{i, j1} < mat{i, j2} < mat{i, j_3}$。
水平方向:对每一列,枚举所有可能的三个行位置($i₁ < i₂ < i₃$),检查字符是否满足 $mat{i1, j} < mat{i2, j} < mat{i_3, j}$。
从左上至右下:对于每条斜线(行索引减去列索引为常数),枚举三个点,按列排序后检查字符是否递增。
从左下至右上:对于每条斜线(行索引加上列索引为常数),枚举三个点,分别按列排序和按行排序检查字符是否递增。
代码:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565 ...