Pagini recente » Cod sursa (job #1741663) | Cod sursa (job #1545913) | Cod sursa (job #2312866) | Cod sursa (job #2657136) | Cod sursa (job #828950)
Cod sursa(job #828950)
#include <stdio.h>
#include<stdlib.h>
int main()
{
FILE *f, *g;
int i, j, m, n;
int **a;
f = fopen("flip.in", "r");
g = fopen("flip.out", "w");
fscanf(f, "%d", &n);
fscanf(f, "%d", &m);
a = (int **) malloc (n * sizeof(int *));
for (i = 0; i < n; i++) {
a[i] = (int *) malloc (m * sizeof(int));
for (j = 0; j < m; j++)
fscanf(f, "%d", &a[i][j]);
}
int suma = 0;
for (i = 0; i < n; i++) {
int poz = 0, neg = 0;
for (j = 0; j < m; j++) {
if (a[i][j] > 0)
poz += a[i][j];
else
neg += a[i][j];
}
if (-neg > poz)
for (j = 0; j < m; j++)
a[i][j] = -a[i][j];
}
for (j = 0; j < m; j++) {
int poz = 0, neg = 0;
for (i = 0; i < n; i++) {
if (a[i][j] > 0)
poz += a[i][j];
else
neg += a[i][j];
}
neg = -neg;
if (poz > neg)
suma += poz - neg;
else
suma += neg - poz;
}
int aux = suma;
suma = 0;
for (j = 0; j < m; j++) {
int poz = 0, neg = 0;
for (i = 0; i < n; i++) {
if (a[i][j] > 0)
poz += a[i][j];
else
neg += a[i][j];
}
if (-neg > poz)
for (i = 0; i < n; i++)
a[i][j] = -a[i][j];
}
for (i = 0; i < n; i++) {
int poz = 0, neg = 0;
for (j = 0; j < m; j++) {
if (a[i][j] > 0)
poz += a[i][j];
else
neg += a[i][j];
}
neg = -neg;
if (poz > neg)
suma += poz - neg;
else
suma += neg - poz;
}
fprintf(g, "%d\n", aux > suma ? aux : suma);
fclose(f);
fclose(g);
return 0;
}