有条件的二维数组的求最小和问题
问题纯手打:比如有个二维数组a[5][5]是:
1 5 9 8 5
9 3 8 2 7
3 7 9 1 6
4 3 8 0 7
0 8 3 9 4
假如第一个选择a[0][0],记录b[0]=a[0][0],除去a[0][0]所在的行和列的所有数字(为表示方便,我用*补空位),只剩下了:
* * * * *
* 3 8 2 7
* 7 9 1 6
* 3 8 0 7
* 8 3 9 4
继续上述操作,假如选择a[1][3],记录b[1]=a[1][3]后,除去它所在的行和列的所有数字(为表示方便,我用#补空位),即剩下:
* * * * *
* # # # #
* 7 9 # 6
* 3 8 # 7
* 8 3 # 4
以此类推,最后计算sum=b[0]+b[1]+b[2]+......+b[n];
求sum的最小和;
我最开始是打算用两层循环的方式求解,把 * ,#这些的用数值 -1 替换,通过if(a[i][j]>=0)实现对这些*,#的忽略。
后来逻辑乱了。我又想用大量的伪随机数来实现,最后自己乱了也没做出来。
请问有人可以写一下这个程序的筛选和求和部分吗,比较急。