问题是: 有一个4X4的矩阵,我想在每行每列取一个数,条件是取到一数同时,则这个数所在列行都不再取,再想加
得到的和最小的数并输出
用C语言写出来了
谢谢了
小弟在这感谢不尽!
我写了一段!不过是错了!是错在了红色字体的地方!为什么错了我不知道!呵呵!请教一下高手
#include <stdio.h>
#define N 4
#include <limits.h>
int main(void)
{
int a[N][N];
int b1[N], b2[N], b3[N], b4[N];
int i, j, num = 0, k, g, sum = INT_MAX;
for(i = 0;i < N;i ++)
for(j = 0;j < N;j ++)
scanf("%d", &a[i][j]);
for(i = 0;i < N;i ++)
{
b1[i] = a[0][i];
b2[i] = a[1][i];
b3[i] = a[2][i];
b4[i] = a[3][i];
}
for(i = 0;i < N;i ++)
for(j = 0;j < N;j ++)
for(k = 0;k < N;k ++)
for(g = 0;g < N;g ++)
if(i != j&&i != k&&i != g&&j != k&&j != g&&k != g)
{
num += b1[i] + b2[j] + b3[k] + b4[g];
if(num < sum)
sum = num;
}
printf("%d\n", sum);
return 0;
}