Pagini recente » Cod sursa (job #3156769) | Cod sursa (job #623780) | Cod sursa (job #1289059) | Cod sursa (job #878424) | Cod sursa (job #2042508)
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream fin ("flip.in");
ofstream fout ("flip.out");
int M[17][17],n,m,v[17],sol=INT_MIN;
void citire()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>M[i][j];
v[1]=1;
}
int suma()
{ int S=0;
for(int i=1;i<=n;i++)
{
int s=0;
for(int j=1;j<=m;j++)
{
s+=v[j]*M[i][j];
}
S+=max(s,-s);
}
return S;
}
void rezolvare(int x)
{
if(x==m+1)
{
sol=max(sol,suma());
return;
}
v[x]=1;
rezolvare(x+1);
v[x]=-1;
rezolvare(x+1);
}
int main()
{
citire();
rezolvare(1);
fout<<sol;
return 0;
}