按钮
时间限制:1秒 内存限制:256M
【题目描述】
现有 \(n\) 盏灯,以及 \(m\) 个按钮。每个按钮可以同时控制这 \(n\) 盏灯——按下了第 \(i\) 个按钮,对于所有的灯都有一个效果。按下 \(i\) 按钮对于第 \(j\) 盏灯,是下面 \(3\) 种效果之一:
- 如果 \(a_{i,j}\) 为 \(1\),那么当这盏灯开了的时候,把它关上,否则不管;
- 如果 \(a_{i,j}\) 为 \(-1\),如果这盏灯是关的,那么把它打开,否则也不管;
- 如果 \(a_{i,j}\) 为 \(0\),无论这灯是否开,都不管。
现在这些灯都是开的,给出所有开关对所有灯的控制效果,求问最少要按几下按钮才能全部关掉。
【输入格式】
前两行两个整数,分别是 \(n\) 和 \(m\)。
接下来 \(m\) 行,每行 \(n\) 个整数,第 \((i+2)\) 行的第 \(j\) 个整数为 \(a_{i,j}\),表示第 \(i\) 个按钮对第 \(j\) 个灯的效果。
【输出格式】
一个整数,表示最少的按按钮的次数。如果没有任何办法使其全部关闭,输出 \(-1\)。
【输入输出样例】
Input
3
2
1 0 1
-1 1 0
Output
2
【数据限制】
- 存在 \(20\%\) 的数据,输出无解可以得分。
- 存在 \(20\%\) 的数据,\(n \le 5\)。
- 存在 \(20\%\) 的数据,\(m \le 20\)。
上面的数据点可能会重叠。
对于 \(100\%\) 的数据,\(1 \le n \le 10, 1 \le m \le 100\)。
【来源】
Mr.he