#505. 💡 点灯问题
💡 点灯问题
题目背景
小何的新公寓安装了一块智能灯阵,灯阵是 的方格,每盏灯都能通过遥控器控制。 然而这支遥控器似乎出了点毛病:每次按下一个按键时,不仅那一盏灯会亮起,它上下左右相邻的灯也会一同被翻转(亮的变灭,灭的变亮)。
现在,小何发现所有的灯都处于关闭状态(全黑)。 他想知道:是否存在一种点击方式,可以让所有灯最终都亮起来? 如果可以,请输出任意一种可行的点击方案。
游戏规则
- 灯阵大小为 。
- 初始状态:所有灯均为黑(灭)。
- 每次点击一个格子,会翻转该格子及其上下左右相邻格子的亮灭状态。
- 目标:使所有灯最终都变为亮(白)。
- 点击顺序不影响结果(因为翻转是可交换的)。
输入格式
输入一行一个整数 。
输出格式
-
若无论如何都无法让所有灯亮起,输出一行:
NO -
否则输出:
YES接着输出 (N) 行,每行 (N) 个整数
0或1(空格分隔), 表示点击方案矩阵:1表示该格子需要点击一次;0表示该格子不需要点击。
样例输入
3
样例输出
YES
1 0 1
0 1 0
1 0 1
评测数据规模
对于所有评测数据,