Pagini recente » Cod sursa (job #886579) | Statistici Ciupan Andrei (andyciup) | Profil ionut_blesneag | Cod sursa (job #998464) | Cod sursa (job #2076593)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[17][17],s,sol[17];
void sumamax()
{
int sm=0;
for(int i=0;i<n;i++)
{
int sl=0;
for(int j=0;j<m;j++)
sl+=a[i][j];
if(sl<0)
sm=sm-sl;
else sm=sm+sl;
}
if(sm>s)
s=sm;
}
void schimbcoloana(int c)
{
for(int i=0;i<n;i++)
a[i][c]=-a[i][c];
}
void BK(int k)
{
int start=1;
if(k!=0)
start=sol[k-1]+1;
for(int i=start;i<=m;i++)
{
sol[k]=i;
schimbcoloana(i-1);
sumamax();
BK(k+1);
schimbcoloana(i-1);
}
}
int main()
{
fin>>n>>m;
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fin>>a[i][j];
BK(0);
fout<<s;
return 0;
}