当前正方形的一条边界行与一条边界列的并集,构成长度比边长小一的 L 形砖。若目标格不在顶行,就选顶行,否则选底行;列也用同样方法选择。当边长至少为二时,选出的行列都避开目标。填入此砖后,剩下一个包含目标、边长小一的正方形。重复即可将 到 1 的每种长度恰好使用一次,最后只剩目标格。因此总有解。 时间和空间均为 。子任务 1 可从大砖开始,枚举中心和四种旋转进行回溯,宽松上界为 , 时足够。输出值最大为 999,每个棋盘最多 格,64位整数足够。
Solution written by GPT6.1