Pagini recente » Cod sursa (job #1755701) | Cod sursa (job #3264568) | Cod sursa (job #790769) | Cod sursa (job #1700658) | Cod sursa (job #566948)
Cod sursa(job #566948)
#include <cstdio>
int main()
{
FILE *f = fopen("flip.in", "r");
FILE *g = fopen("flip.out", "w");
int mat[17][17], m,n, max = -999999999;
char stiva[17], level = 1;
fscanf(f, "%d %d", &n, &m);
for (int i = 1 ; i <= n ; ++i)
for (int j = 1; j <= m ; ++j)
fscanf(f, "%d", &mat[i][j]);
stiva[1] = -1;
do
{
bool as = false;
if (stiva[level] < 1)
{
as = true;
stiva[level]++;
}
if (level == m && as)
{
int sum = 0;
for (int i = 1 ; i <= n ; ++i)
{
int lineSum = 0;
for (int j = 1 ; j <= m ; ++j)
{
if (stiva[j])
lineSum += -mat[i][j];
else
lineSum += mat[i][j];
}
if (lineSum < 0)
sum += -lineSum;
else
sum += lineSum;
}
if (sum > max)
max = sum;
}
else if (as == false)
{
stiva[level] = -1;
level--;
}
else
{
level++;
stiva[level] = -1;
}
} while (level > 0);
fprintf(g, "%d\n", max);
return 0;
}