P12560 [UTS 2024] Randomized Palindromes
题目描述
给定一个由 0 和 1 组成的 $n \times n$ 二进制矩阵。初始时,你有一个空字符串 $S$。你从位置 $(0,0)$(左上角)出发,每次只能向右或向下移动。将经过的每个元素按顺序添加到字符串 $S$ 中。
判断是否存在一条路径使得 $S$ 成为回文串。如果存在,输出这样的路径;否则输出不存在。
注意每个矩阵都是随机生成的。
输入格式
第一行包含一个整数 $n$ $(1 \le n \le 5\,000)$ —— 矩阵的大小。
接下来的 $n$ 行,每行包含 $n$ 个字符 $a_{i,j}$ $(0 \le a_{i,j} \le 1)$ —— 描述矩阵的内容。
输入矩阵是从所有可能的 $n \times n$ 有效矩阵中随机选取的。
输出格式
如果不存在这样的回文路径,输出一行 $\tt{NO}$。
否则,第一行输出 $\tt{YES}$。接下来的 $2n-1$ 行,每行输出两个整数 $x_i$ 和 $y_i$ ($0 \leq x_i, y_i < n$) —— 表示路径上第 $i$ 个单元格的坐标。
说明/提示
- ($5$ 分):$n \le 10$;
- ($9$ 分):$n \le 100$;
- ($19$ 分):$n \le 500$;
- ($27$ 分):$n \le 1\,500$;
- ($40$ 分):无额外限制。
翻译由 DeepSeek V3 完成