Pagini recente » Cod sursa (job #3213283) | Cod sursa (job #827781) | Cod sursa (job #365765) | Cod sursa (job #1408253) | Cod sursa (job #2697031)
//Ilie Dumitru
#include<cstdio>
int N, M;
int stiva[32], mat[16][16], best=-256000001;
bool sol()
{
int s, i, j;
for(i=s=0;i<N;++i)
for(j=0;j<M;++j)
if(stiva[i]^stiva[N+j])
s-=mat[i][j];
else
s+=mat[i][j];
if(s>best)
best=s;
}
void back(int k)
{
stiva[k]=0;
if(k==N+M-1)
sol();
else
back(k+1);
stiva[k]=1;
if(k==N+M-1)
sol();
else
back(k+1);
}
int main()
{
int i, j;
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%i", &N);
scanf("%i", &M);
for(i=0;i<N;++i)
for(j=0;j<M;++j)
scanf("%i", &mat[i][j]);
fclose(stdin);
back(0);
printf("%i", best);
fclose(stdout);
return 0;
}