Pagini recente » Cod sursa (job #1258121) | Cod sursa (job #1077414) | Cod sursa (job #1136231) | Cod sursa (job #1640510) | Cod sursa (job #1743724)
#include <iostream>
#include <cstdio>
using namespace std;
int N,M,v[20][20], L[20], C[20],sum,sol2;
int optim;
void Read()
{
scanf("%d%d",&N,&M);
for(int i=1; i<=N; i++)
for(int j=1; j<=M; j++)
scanf("%d", &v[i][j]);
for(int i=1; i<=N; i++)
for(int j=1; j<=M; j++)
L[i]+=v[i][j];
for(int i=1; i<=N; i++)
optim+=L[i];
}
void BKLinie()
{
int m=1<<N;
for(int i=0; i<m; i++)
{
int spart=0;
for(int j=0; j<N; j++)
{
if(i&(1<<(j)))
spart-=L[j+1];
else spart+=L[j+1];
}
for(int c=1; c<=M; c++)
{
int sol=0;
for(int j=0; j<N; j++)
{
if(i&(1<<(j)))
sol-=v[j+1][c];
else sol+=v[j+1][c];
}
if(sol<0)
spart-=2*sol;
}
if(spart>optim)
optim=spart;
}
printf("%d",optim);
}
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
Read();
BKLinie();
return 0;
}