Pagini recente » Cod sursa (job #919043) | Cod sursa (job #2999197) | Cod sursa (job #2126993) | Cod sursa (job #2249333) | Cod sursa (job #2453082)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
void check(int v[100][100], int N, int M, int *max)
{
int aux[100][100], s = 0;
for (int i = 0; i <= N - 1; i++)
for (int j = 0; j <= M - 1; j++)
aux[i][j] = v[i][j];
for (int i = 0; i <= N - 1; i++)
for (int j = 0; j <= M - 1; j++)
s = s + aux[i][j];
if (s > *max)
{
*max = s;
printf("%d ", *max);
}
for (int i = 0; i <= N - 1; i++)
{
s = 0;
for (int j = 0; j <= M - 1; j++)
s = s + aux[i][j];
if (s < 0)
{
for (int j = 0; j <= M - 1; j++)
aux[i][j] = -aux[i][j];
check(aux, N, M, max);
for (int j = 0; j <= M - 1; j++)
aux[i][j] = -aux[i][j];
}
}
for (int j = 0; j <= M - 1; j++)
{
s = 0;
for (int i = 0; i <= N - 1; i++)
s = s + aux[i][j];
if (s < 0)
{
for (int i = 0; i <= N - 1; i++)
aux[i][j] = -aux[i][j];
check(aux, N, M, max);
for (int i = 0; i <= N - 1; i++)
aux[i][j] = -aux[i][j];
}
}
}
int main()
{
FILE* f = fopen("flip.in", "rt");
int N, M, v[100][100], x, i, j, max=0;
fscanf(f, "%d", &N);
fscanf(f, "%d", &M);
for ( i = 0; i <= N - 1; i++)
for ( j = 0; j <= M - 1; j++)
fscanf(f, "%d", &v[i][j]);
check(v, N, M, &max);
f = fopen("flip.out", "wt");
fprintf(f, "%d \n", max);
fflush(stdout);
fclose(f);
return 0;
}