Pagini recente » Cod sursa (job #1440367) | Cod sursa (job #1998768) | Cod sursa (job #409876) | Cod sursa (job #972544) | Cod sursa (job #1830618)
#include <iostream>
#include <fstream>
#define mare 17
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[mare][mare], b[mare], n, m;
int sum=0;
void backt(int k)
{
for(int i=0;i<=1;i++)
{
b[k]=i;
if(k==m)
{
int t, s=0, j, k;
for(k=1;k<=n;k++)
{
t=0;
for(j=1;j<=m;j++)
{
if(b[j])t+=-a[k][j];
else t+=a[k][j];
}
if(t<0)s+=-t;
else s+=t;
}
if(s>sum)sum=s;
}
else if(k+1<=m)backt(k+1);
}
}
int main()
{
int i, j;
fin>>n>>m;
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
{
fin>>a[i][j];
sum+=a[i][j];
}
backt(1);
fout<<sum;
return 0;
}