Pagini recente » Cod sursa (job #2383007) | Cod sursa (job #983098) | Cod sursa (job #982479) | Cod sursa (job #982445) | Cod sursa (job #2594437)
#include <bits/stdc++.h>
using namespace std;
bitset <17> mask;
int n, m, a[16][16], S;
void use () {
int v[m], i, j;
memset(v, 0, sizeof v);
for (i=0; i<n; i++)
for (j=0; j<m; j++)
if (mask[i])
v[j]-=a[i][j];
else
v[j]+=a[i][j];
int s=0;
for (j=0; j<m; j++)
s+=abs(v[j]);
S=max(s, S);
}
void backtrack (int p) {
if (p!=n-1) {
mask[p]=1;
backtrack(p+1);
mask[p]=0;
backtrack(p+1);
}
else
use();
}
int main () {
ifstream fin ("flip.in");
ofstream fout ("flip.out");
//istream &fin=cin;
//ostream &fout=cout;
fin >> n >> m;
int i, j;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
fin >> a[i][j];
backtrack(0);
fout << S;
return 0;
}