matlab编写,就像数字填图的游戏一样,其中的数字1-9在每一行和每一列都有唯一的一个。在一个M*N的0-1矩阵中,我想得到的是在原矩阵上操作,使其每一行和每一列都只有唯一的一个1,怎样才能使得变换后1的个数最多。
这个问题我觉的可以转换成,求解n皇后问题,不知道对不对,楼主可以试试
谢谢!感觉有点像,但是条件里面任意两个皇后都同一斜线上,这个不要,然后就是我已经给出了原矩阵,只能在原矩阵上有1的位置上操作,看怎么让1 的个数最多
谢谢!感觉有点像,但是条件里面任意两个皇后都同一斜线上,这个不要,然后就是我已经给出了原矩阵,只能在原矩阵上有1的位置上操作,看怎么让1 的个数最多
使每一行、每一列都只有1个1
这个意思m和n相等
矩阵的行和列是可以不相等的
一路看下来,个人觉得,是不是M和N中的最小值?
我也觉得不是m就是n,就看哪个小了,因为如果mn不相等的话那么必定会有全是0的行或列,所以不管原矩阵是什么样的都必定最多只能有最小行或最小列的个数,只要超过了就满足不了每行每列都最多一个1的条件。而且我都怀疑你要求的是1的个数还是满足该条件的矩阵个数。