//2D array with row4 and column4
11 12 18 40
14 15 13 22
11 17 19 23
17 14 20 28
我的问题是我如何循环这样的想法。当为 [0][0] = 11 循环时,对于 12 、 18 、 40 和相同的整列 14 、 11 、 17 相同的整行不能计数。之后,我的第二次循环将只是循环表像这样的样本
**11** **12** **18** **40**
**14** 15 13 22
**11** 17 19 23
**17** 14 20 28
我的循环可以在没有 ** 的情况下读取这些数字。第二次。将选择第二列,其中数字最小并存储到变量temporaryA中,第三次循环将选择第三列,选择最小值并存储到temporaryB中,第四次循环将选择第四列并存储到temporaryC中
最后。我的答案将是我刚才选择的第一个数字 ANswer = 11 +temporaryA +temporaryB +temporaryC
无效 BranchandBound(int **minimumCost , int p , int j ){
/*
11 12 18 40
14 15 13 22
11 17 19 23
17 14 20 28
*/
bool *stars = new bool[4];
int totalMin = 0;
for( int y = 0 ; y < p ; y++ ){
int min,iMin = -1;
for( int x = 0 ; x < j ; x++ ){
if( !stars[y] || (iMin < 0 || min > minimumCost[y][x]) ){
min = minimumCost[y][x];
cout << "minimum : " << min << endl;
iMin = min;
totalMin += min;
}
stars[iMin] = 1;
}
}
cout << "Total : " << totalMin << endl;
}