Pagini recente » Cod sursa (job #756933) | Cod sursa (job #2336972) | Cod sursa (job #1772254) | Cod sursa (job #1918912) | Cod sursa (job #1999684)
#include <fstream>
#define nmax 17
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m, a[nmax][nmax];
int smax;
int x[nmax];
void Read()
{int i,j;
fin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{fin>>a[i][j];
smax+=a[i][j];}
}
int Suma(int k)
{int i,j,l,s,sum=0;
l=x[k];
///Flip
for(j=1;j<=m;j++) a[l][j]*=-1;
///calc suma pe coloane
for(j=1;j<=m;j++)
{s=0;
for(i=1;i<=n;i++)
s+=a[i][j];
if(s<0) sum+=s*(-1);
else sum+=s;
}
return sum;
}
void Back(int k)
{int i,j,s;
for(i=x[k-1]+1;i<=n;i++)
{x[k]=i;
s=Suma(k);
if(s>smax) smax=s;
if(x[k]<n) Back(k+1);
}
}
int main()
{Read();
Back(1);
fout<<smax<<endl;
return 0;
}