Pagini recente » Cod sursa (job #1949370) | Cod sursa (job #2915446) | Cod sursa (job #2311423) | Cod sursa (job #1986478) | Cod sursa (job #2887732)
//Ilie Dumitru
#include<cstdio>
int N, M;
int mat[20][20], sume[20];
int max(int lines)
{
int i, j, x=0;
for(i=0;i<M;++i)
sume[i]=0;
for(i=0;i<N;++i)
for(j=0;j<M;++j)
if(lines&(1<<i))
sume[j]-=mat[i][j];
else
sume[j]+=mat[i][j];
for(i=0;i<M;++i)
if(sume[i]>0)
x+=sume[i];
else
x-=sume[i];
return x;
}
int main()
{
int lines, ans=0, x;
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
scanf("%d%d", &N, &M);
for(int i=0;i<N;++i)
for(int j=0;j<M;++j)
scanf("%d", &mat[i][j]), ans+=mat[i][j];
for(lines=(1<<N)-1;lines>-1;--lines)
{
x=max(lines);
if(x>ans)
ans=x;
}
printf("%d", ans);
return 0;
}