Pagini recente » Cod sursa (job #1872783) | Cod sursa (job #163645) | Infoarena Monthly 2014 - Runda 4 | Autentificare | Cod sursa (job #276476)
Cod sursa(job #276476)
#include <stdio.h>
int a[16][16], flip[16], n, m, S;
inline int abs(int a)
{
if(a<0)
return -a;
else
return a;
}
void calculeaza()
{
int i, j, sumacol, s=0;
for(i=0; i<n; i++)
{
for(j=sumacol=0; j<m; j++)
sumacol+=flip[j]*a[i][j];
s+=abs(sumacol);
}
if(s>S)
S=s;
}
void back(int k)
{
if(k==m)
calculeaza();
else
{
flip[k]=1; back(k+1);
flip[k]=-1; back(k+1);
}
}
int main ()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d", &n);
scanf("%d", &m);
for(int i=0; i<n; ++i)
for(int j=0; j<m; ++j)
scanf("%d", &a[i][j]);
back(0);
printf("%d", S);
return 0;
}