Pagini recente » Cod sursa (job #3122601) | Cod sursa (job #413905)
Cod sursa(job #413905)
#include <cstdio>
#define DIM 32
int A[DIM][DIM], n, m;
inline int suma_linia(int i)
{
int s = 0;
for (int j = 1; j <= m; ++j) s += A[i][j];
return s;
}
void reverse_linia(int i)
{
for (int j = 1; j <= m; ++j) A[i][j] *= -1;
}
inline int suma_coloana(int j)
{
int s = 0;
for (int i = 1; i <= n; ++i) s += A[i][j];
return s;
}
void reverse_coloana(int j)
{
for (int i = 1; i <= n; ++i) A[i][j] *= -1;
}
int main()
{
FILE *f = fopen("flip.in", "r");
fscanf(f, "%d%d", &n, &m);
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
fscanf(f, "%d", &A[i][j]);
fclose(f);
int gata = 0;
while (!gata)
{
gata = 1;
for (int i = 1; i <= n; ++i)
if (suma_linia(i) < 0)
reverse_linia(i), gata = 0;
for (int i = 1; i <= m; ++i)
if (suma_coloana(i) < 0)
reverse_coloana(i), gata = 0;
}
int s = 0;
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= m; ++j)
s += A[i][j];
f = fopen("flip.out", "w");
fprintf (f, "%d\n", s);
fclose(f);
return 0;
}