Pagini recente » Cod sursa (job #2338894) | Cod sursa (job #2338876) | Cod sursa (job #2295886) | Cod sursa (job #1551040) | Cod sursa (job #2594434)
#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;
}