#P13994. [ucup] Illuminati
[ucup] Illuminati
题目描述
矮人 Illuminati 正在准备跨年夜灯光秀。会有 支蜡烛排成一条直线。每支蜡烛只有两种状态:点亮(1)或未点亮(0)。
灯光秀一共有 个回合。每两个相邻回合之间,Illuminati 会把蜡烛重新移动位置。为了便于记忆,他希望每次移动方式都完全相同。
形式化地说,他会选择一个 元排列 。在每个回合结束后,他会把原来位于位置 的蜡烛移动到位置 。
现在你已知每个回合的点亮情况:给出 个长度为 的二进制串,第 个串表示第 回合时每个位置的蜡烛是否点亮。请判断是否存在一个排列 能满足这些回合之间的移动关系;若存在,输出字典序最小的那一个 (从 开始编号)。
输入格式
第一行两个正整数 。
接下来 行,每行一个长度为 的二进制串:1 表示该位置的蜡烛点亮,0 表示未点亮。第 行对应第 个回合。
输出格式
若存在满足条件的排列 :
- 第一行输出
YES - 第二行输出该排列(从 开始),即
否则输出一行 NO。
数据范围
,且 。
3 3
100
010
001
YES
2 3 1
4 2
0011
0110
YES
1 4 2 3