我们要在一个 N×M 的矩阵中,为每一行选择“原样(0)”或“整行反转(1)”这两种状态,使得对所有列,同一列上的 N 个数字两两不同。 把每一行的选择记为布尔变量 xi∈{0,1}(0=不翻转,1=翻转)。对于任意两行 i,k 与任意一列 j,如果在某个组合下两行在列 j 的值相等,则该组合被禁止:
有一个密码锁,密码锁是由一个 N×M 的矩阵构成,该密码锁只有在每一列上,每个数均不同的情况下,才能被打开,此外,还可以对矩阵的任意一行上的数字进行翻转操作(每行最多只能翻转一次);若此时仍然无法满打开密码锁的条件,则该密码锁将无法被打开。
现在给出密码锁上的密码矩阵,请你编写一个程序判断是否可以打开该密码锁。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册