读书人

二维数组中每行每列取且仅取一个数 求

发布时间: 2012-03-14 12:01:12 作者: rapoo

二维数组中每行每列取且仅取一个数 求这些数的最小和
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

读书人网 >C++

热点推荐