Pagini recente » Cod sursa (job #1760869) | Cod sursa (job #1022332) | Cod sursa (job #1945490) | Cod sursa (job #2840026) | Cod sursa (job #1197638)
#include <stdio.h>
int maxSum = 0;
int array[17][17], lineC, colC, flipArray[17];
void detSum(){
register int i,j;
int cSum = 0, tSum =0;
for(i = 0; i < colC; ++i){
cSum = 0;
for(j = 0; j < lineC; ++j){
cSum += (array[j][i] * flipArray[j]);
}
if(cSum < 0) cSum *= -1;
tSum += cSum;
}
if(maxSum < tSum) maxSum = tSum;
}
void startBack(int lineIndex){
register int i;
if(lineIndex == lineC + 1 )
detSum();
else
for(i = -1; i < 2; i+=2){
flipArray[lineIndex] = i;
startBack(lineIndex + 1);
}
}
int main(void){
FILE *in, *out;
register int i,j;
in = fopen("flip.in", "r");
out = fopen("flip.out", "w+");
fscanf(in, "%d", &lineC);
fscanf(in, "%d", &colC);
for(i = 0; i < lineC; ++i)
for(j = 0; j < colC; ++j)
fscanf(in, "%d", &array[i][j]);
startBack(0);
fprintf(out, "%d", maxSum);
close(in);
close(out);
return 0;
}