Pagini recente » Cod sursa (job #2934400) | Cod sursa (job #1276260) | Cod sursa (job #1363250) | Cod sursa (job #2191619) | Cod sursa (job #1152163)
#include <iostream>
#include <fstream>
#define nmax 17
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m;
long v[nmax][nmax], best, sc[nmax]; /// sc = semn coloana
void calcul()
{
long nr,sum=0;
for(int i=1;i<=n;i++)
{
nr=0;
for(int j=1;j<=m;j++)
nr += v[i][j] * sc[j];
sum += max(nr,-nr);
}
best = max(best,sum);
}
void backt(int k)
{
if(k==m+1){calcul();return;}
sc[k]=-1;
backt(k+1);
sc[k]=1;
backt(k+1);
}
int main()
{
///citire
f>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
f>>v[i][j];
///backtracking
backt(1); g << best;
return 0;
}