Pagini recente » Cod sursa (job #2368966) | Cod sursa (job #1176258) | Cod sursa (job #2574490) | Cod sursa (job #902840) | Cod sursa (job #1557963)
#include <cstdio>
#define nmax 17
#define minf -99999999
FILE *fin = fopen("flip.in", "r"), *fout = fopen("flip.out", "w");
int n,m;
int a[nmax][nmax];
int sol[2*nmax];
int maxim = minf;
void citire()
{
int i, j;
fscanf(fin, "%d %d", &n, &m);
for(i = 1; i <= n; i++)
for(j = 1; j <=m ; j++)
fscanf(fin, "%d", &a[i][j]);
}
void maxi()
{
int i,j;
int maxim1 = 0;
for(i = 1; i <= n; i++)
for(j = 1; j <=m ; j++)
{
int nr = a[i][j];
if(sol[i])nr*= -1;
if(sol[n+j])nr*= -1;
maxim1 += nr;
}
if(maxim1 > maxim) maxim = maxim1;
}
void backt(int k)
{
int i;
for(i = 0; i<=1; i++)
{
sol[k]=i;
if(k == m+n)
maxi();
else
backt(k+1);
}
}
int main()
{
citire();
backt(1);
fprintf(fout,"%d", maxim);
return 0;
}