Pagini recente » Cod sursa (job #1314407) | Cod sursa (job #1856223) | Cod sursa (job #3336553) | Cod sursa (job #3153064) | Cod sursa (job #1724402)
#include<stdio.h>
FILE *in, *out;
int n, m;
int flip(int caz, int a[16][16])
{
int i, j, toto, s;
for(i = 0; i < n; i++) {
if(caz & 1 == 1) {
for(j = 0; j < m; j++) {
a[i][j] = -a[i][j];
}
}
caz = caz >> 1;
}
toto = 0;
for(j = 0; j < m; j++) {
s = 0;
for(i = 0; i < n; i++) {
s = s + a[i][j];
}
if(s < 0) {
s = -s;
}
toto = toto + s;
}
/*
for(i = 0; i < n; i++) {
for(j = 0; j < m; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
*/
return toto;
}
int main ()
{
int i, j, v[16][16], posib, max, x;
in = fopen("flip.in", "r");
out = fopen("flip.out", "w");
fscanf(in, "%d%d", &n, &m);
for(i = 0; i < n; i++) {
for(j = 0; j < m; j++) {
fscanf(in, "%d", &v[i][j]);
}
}
posib = 1 << n;
max = 0;
for(i = 0; i < posib; i++) {
x = flip(i, v);
//printf("%d %d\n////////////////\n", i, x);
if(x > max) {
max = x;
}
}
fprintf(out, "%d", max);
fclose(in);
fclose(out);
return 0;
}