#Lutece3293. 上三角矩阵
上三角矩阵
Description
Natsuzora 有一个 的 矩阵,他想要把这个矩阵变成完全上三角矩阵。
完全上三角矩阵的定义如下:如果一个 矩阵 是完全上三角矩阵,那么当 时,;否则,。
为了便于理解,这里给出一个 的完全上三角矩阵的例子:
$$\begin{bmatrix} 1&1&1&1\\ 0&1&1&1\\ 0&0&1&1\\ 0&0&0&1 \end{bmatrix} $$Natsuzora 可以对矩阵进行任意次操作,每次操作为如下两种之一:
- 选择两个数字 和 ,然后交换矩阵的第 行和第 行;
- 选择两个数字 和 ,然后交换矩阵的第 列和第 列。
交换矩阵的两行的意思是将矩阵每一列中位于这两行的两个元素进行交换;交换两列也是类似的。
请你告诉 Natsuzora,他是否有可能将这个矩阵变为完全上三角矩阵。
Input
第一行一个整数 ,表示 Natsuzora 的矩阵的大小。
接下来 行,第 行包含一个长度为 的字符串 。该字符串中只包含字符 0
或 1
,其中若 ,则 为 1
;若 ,则 为 0
。
Output
若该矩阵可以变为完全上三角矩阵,输出 YES
;否则,输出 NO
。
Samples
4
1001
1000
1011
1111
YES
Note
对于第一个样例,以下是一个合法的操作序列:
- 交换第 , 行;
- 交换第 , 行;
- 交换第 , 行;
- 交换第 , 列;
- 交换第 , 列;
- 交换第 , 列。
Resources
电子科技大学第十三届 ACM 趣味程序设计竞赛