Pagini recente » Cod sursa (job #2699270) | Cod sursa (job #2629452) | Cod sursa (job #2629457) | Cod sursa (job #2699276) | Cod sursa (job #1994710)
// Flip_InfoArena.cpp : Defines the entry point for the console application.
//
#include "stdio.h"
int main(int argc, char* argv[])
{
FILE *in, *out;
int n, m, v[16][16], i, j, l,sl, sc;
long long sum = 0;
in = fopen("flip.in", "r");
//----read
if (!in)
return 0;
fscanf(in, "%d %d", &n, &m);
for (i=0;i<n;++i)
for (j=0;j<m;++j)
{
fscanf(in, "%d", &v[i][j]);
sum += v[i][j];
}
//----process
for (i = 0; i<n;++i)
{
for (j=0;j<m;++j)
{
sl = 0; sc = 0;
for (l = 0;l <n; ++l)
sc += v[l][j];
for (l = 0;l < m;++l)
sl += v[i][l];
sl -= v[i][j];
sc -= v[i][j];
if (sum - (2*sl) - (2*sc) > sum)
{
for (l = 0;l <n; ++l)
v[l][j] = -v[l][j];
for (l = 0;l < m;++l)
v[i][l] = -v[i][l];
sum = sum - (2*sl) - (2*sc);
}
else
{
if (sum - (2*sl) - (2*v[i][j]) > sum)
{
for (l = 0;l < m;++l)
v[i][l] = -v[i][l];
sum = sum - (2*sl) - (2*v[i][j]);
}
else
{
if (sum - (2*sc) - (2*v[i][j]) > sum)
{
for (l = 0;l < n;++l)
v[l][j] = -v[l][j];
sum = sum - (2*sc) - (2*v[i][j]);
}
}
}
}
}
out = fopen("flip.out", "w");
fprintf(out, "%lld", sum);
fclose(out);
fclose(in);
return 0;
}