Pagini recente » Cod sursa (job #2885321) | Cod sursa (job #960954) | Cod sursa (job #2096125) | Cod sursa (job #343752) | Cod sursa (job #2440002)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int short n, m;
int mat[20][20], a[40], maxVal = 0;
void sol()
{
int fs, ss = 0;
for(int i = 0; i < m; i++)
{
fs = 0;
for(int j = 0; j < n; j++)
fs += a[j] * mat[j][i];
if(fs < 0)
fs = -fs;
ss += fs;
}
if(ss > maxVal) maxVal = ss;
}
void bktr(int index)
{
if(index > n) sol();
else {
a[index] = 1;
bktr(index + 1);
a[index] = -1;
bktr(index + 1);
}
}
int main()
{
fin >> n >> m;
for(int i = 0; i < n; i++)
for(int j = 0; j < m; j++)
fin >> mat[i][j];
bktr(1);
fout << maxVal;
return 0;
}