Pagini recente » Cod sursa (job #3226117) | Cod sursa (job #3162194) | Cod sursa (job #670368) | Cod sursa (job #1212088) | Cod sursa (job #1152160)
#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,nr);
}
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;
}