A1554 | 或矩阵
来源官方 / 2023
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
Yuilice最近收到了一个矩阵,朋友说这个矩阵是由一个序列$a$进行或操作转变而来的,操作方式如下。
序列$a$的长度为$n$,将会生成一个$n \times n$的矩阵$M$,其中$M_{(i,j)}$的数值是由$a_i | a_j(i < j)$所得的,并且$1 \leq a_i \leq 2^{30}$。
如果碰到$i = j$的情况,那么$M_{(i,j)} = 0$(题目保证所有$i = j$的矩阵格子数值都为0).
现在Yuilice给出这个矩阵,请你帮他求出序列$a$,如果存在多个满足条件的序列$a$,请输出其中字典序最大的。
序列$a$的长度为$n$,将会生成一个$n \times n$的矩阵$M$,其中$M_{(i,j)}$的数值是由$a_i | a_j(i < j)$所得的,并且$1 \leq a_i \leq 2^{30}$。
如果碰到$i = j$的情况,那么$M_{(i,j)} = 0$(题目保证所有$i = j$的矩阵格子数值都为0).
现在Yuilice给出这个矩阵,请你帮他求出序列$a$,如果存在多个满足条件的序列$a$,请输出其中字典序最大的。
输入格式
第一行输入一个整数$t(1 \leq t \leq 10^4)$,代表共有$t$组样例。
随后每组样例的第一行输入一个整数$n(2 \leq n \leq 10^3)$,代表数组$a$的长度。
随后$n$行,每行输入$n$个整数,代表转变后的矩阵。
随后每组样例的第一行输入一个整数$n(2 \leq n \leq 10^3)$,代表数组$a$的长度。
随后$n$行,每行输入$n$个整数,代表转变后的矩阵。
输出格式
对于每组样例分为两种情况。
如果存在序列$a$,则输出
如果不存在,则输出
如果存在序列$a$,则输出
YES,并且在第二行输出序列$a$。如果不存在,则输出
NO。输入输出样例
输入 #1
3 4 0 1 2 3 1 0 3 3 2 3 0 3 3 3 3 0 5 0 7 7 5 5 7 0 3 2 6 7 3 0 3 7 5 2 3 0 4 5 6 7 4 0 3 0 0 1 0 0 0 1 0 0
输出 #1
YES 0 1 2 3 YES 5 2 3 0 4 NO
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?