Pagini recente » Cod sursa (job #937571) | Borderou de evaluare (job #1238961) | Cod sursa (job #2861583) | Cod sursa (job #655176) | Cod sursa (job #1246409)
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *f, *g;
f = fopen("flip.in", "r");
int n, m;
fscanf(f, "%d", &n);
fscanf(f, "%d", &m);
int **a, i ,j;
a = (int **) malloc(n * sizeof(int));
for(i = 0; i < n; i++)
a[i] = (int *)malloc(m * sizeof(int));
for(i=0; i<n; i++)
for(j=0; j<m; j++)
fscanf(f, "%d", &a[i][j]);
//
//for(i=0; i<n; i++) {
// for(j=0; j<m; j++) {
// printf("%d ", a[i][j]);
// }
// printf("\n");
//}
//
int sumPL, sumNL, sumPC, sumNC;
for(i=0; i<n; i++) {
sumPL = 0;
sumNL = 0;
for(j=0; j<m; j++) {
sumPL += a[i][j];
sumNL += (-1) * a[i][j];
}
if(sumPL < sumNL)
for(j=0; j<m; j++) {
//printf("linie %d\n", i+1);
a[i][j] = (-1) * a[i][j];
}
}
for(j=0; j<m; j++) {
sumPC = 0;
sumNC = 0;
for(i=0; i<n; i++) {
sumPC += a[i][j];
sumNC += (-1) * a[i][j];
}
if(sumPC < sumNC)
for(i=0; i<n; i++) {
//printf("coloana %d\n", j+1);
a[i][j] = (-1) * a[i][j];
}
}
int sum = 0;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
sum += a[i][j];
g = fopen("flip.out", "w");
fprintf(g, "%d", sum);
fclose(g);
for(i=0; i<n; i++)
free(a[i]);
free(a);
return 0;
}