CF243E Matrix

题目描述

给定一个 $n \times n$ 的方阵,每个元素为 $0$ 或 $1$。 我们称一个矩阵是“好矩阵”,如果它满足以下条件:在矩阵的每一行中,所有的 $1$ 必须连续成一段。也就是说,每一行都形如 $00...0011...1100...00$(如果没有 $1$,则全为 $0$)。 现给定一个大小为 $n \times n$、仅含 $0$ 和 $1$ 的矩阵 $a$,你的任务是判断能否通过重新排列矩阵的列,得到一个“好矩阵” $b$。

输入格式

第一行包含整数 $n$($1 \leq n \leq 500$),表示矩阵 $a$ 的大小。 接下来 $n$ 行,每行包含由字符 '0' 和 '1' 组成的 $n$ 个字符,表示矩阵 $a$。注意字符之间没有分隔符。

输出格式

如果可以通过重新排列列得到一个好矩阵,在第一行输出 "YES"。接下来的 $n$ 行输出任意一种可行的好矩阵 $b$。 如果无法得到好矩阵,输出 "NO"。

说明/提示

由 ChatGPT 5 翻译