Pagini recente » Borderou de evaluare (job #528020) | Borderou de evaluare (job #1349968) | Cod sursa (job #1309161) | Cod sursa (job #2542680) | Cod sursa (job #1830727)
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,a[20],b[20][20],m,maxx;
void bkt(int c)
{
int i=0,j=0;
if(c==n+1)
{
int st=0;
int sr=0;
for(j=1;j<=m;++j)
{
sr=0;
for(i=1;i<=n;++i)
{
if(a[i]==1)
sr=sr-b[i][j];
else
sr=sr+b[i][j];
}
if(sr<0)
sr=(-1)*sr;
st=st+sr;
}
if(st>maxx)
maxx=st;
return;
}
for(i=0;i<=1;++i)
{
a[c]=i;
bkt(c+1);
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
fin>>b[i][j];
bkt(1);
fout<<maxx;
return 0;
}