首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

二维数组中每行每列取且仅取一个数 求这些数的最小和解决方案

2012-03-14 
二维数组中每行每列取且仅取一个数 求这些数的最小和RT数组大小 200*200不用暴力这需要什么算法啊[解决办

二维数组中每行每列取且仅取一个数 求这些数的最小和
RT 
数组大小 200*200  
不用暴力
这需要什么算法啊

[解决办法]

C/C++ code
int minNum(int* buff, int buffsize){    int i = 0;    int nMin = buffsize[0];    for( ; i < buffsize; i++){        if( nMin > buffsize[i] ){            nMin = buffsize[i]; // 求最小值        }    }    return nMin;}int main (){    int i = 0;    int buff[200][200];    int sum = 0;    for( ; i < 200; i++ )    {        sum += minNum(&buff[i][0], 200 ); // result    }    return 0;}
[解决办法]
答案可能是错误的 

1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5
1 2 3 4 5

以5*5为例, 每行最小值是 1 ,加起来 最小和为 5 

但是有每行每列只能取一个数的条件 。
最小和 应该 是 1+ 2+3+4+5 =15

热点排行