数据结构排序问题,智商不够,不明白这题目跟排序存在什么联系,求大神指点

有一块布满器件的电路板,器件共N行M列。每个器件只有两种状态,经一次激光照射后状态反转。
初始时,器件的状态随机。激光的位置在每列器件的最上方,这意味着照射一次,当前列中的所有器件的状态全部反转。(激光可以多次照射同一列。)
当一行中的所有器件全为1时,本行处于导通状态。
给定一块电路板,并指定激光照射次数,求最大导通行数。
限定:3≤行数N≤100,3≤列数M≤20,1≤激光照射次数K≤M。
图片说明
给的提示是,
考虑K的奇偶性及一行中0的个数的奇偶性。最终变为排序问题。
但是我连第一步应该做什么都不知道,就是,我连从哪里入手都不知道。。。
还请大神指点迷津

题我倒是读懂了,就是一个二位数组,初始化是随机的。而,数组的行数和列数按照要求来,你在人为设置k为多少。最终是排序问题,就如例题,当k=3,意思就是改变3列(改变的意思就是反转),改变的目的使的一行全为1。改变的总共方式有10种(按照例子),选出其中的一种全为1做多的情况。
细节我一时也还做不出来,难度主要在于反转和遍历这个问题上吧。

**我个人认为,首先题目只是说考虑k的奇偶性以及一行中0的个数的奇偶性。用的是考虑而不是根据,楼主可能是误解了。
解题思路:1.根据每行中的0的个数,将行数排序。可以一行中0最少的排在最前面,这样方面后面判定。
2.用一个累加器记录几行导通,然后用k与当前行的0做比较,如果大于等于当前行中的0的个数,累加器+1。k减去当前行中0的个数,再与下一行中0的个数比较,直到小于当前行中0的个数,停止循环,输出累加器中的数值。

所以总结下,这个题目重点也就是根据每行中0的个数来排序。至于考虑奇偶性,我觉得多此一举。不过或许是我没考虑到更好的方法。      

这不就是求完本相等数吗。
以第一行为例:2. 3. 5 命中则通。其为通的时候,2. 3. 5对其它行的命中必须全为0, 且仅有这三个0, 也就是说,这一个其它行必须完本相等于第一行

个人觉得二楼少考虑了一种情况,就是如果当多行的0个数相同,但是0在每一行的位置不同,可能有几行的0在相同的列上,比如:第一行有两个0,分别在第二第三列,而2,3,4行也有两个0,在五六列。而如果按照二楼的思路,比较并且相减的话,有可能会导致本来可以连通的没有记上,或者没哟选出最大的情况。