Pagini recente » Cod sursa (job #2106581) | Cod sursa (job #1731540) | Cod sursa (job #2300714) | Cod sursa (job #1966791) | Cod sursa (job #2594436)
#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;
cin >> n >> m;
int i, j;
for (i=0; i<n; i++)
for (j=0; j<m; j++)
cin >> a[i][j];
backtrack(0);
fout << S;
return 0;
}