Pagini recente » Cod sursa (job #2961551) | Cod sursa (job #1014247) | Cod sursa (job #654779) | Cod sursa (job #1307594) | Cod sursa (job #2040230)
#include <bits/stdc++.h>
using namespace std;
int mat[20][20], n, m, t[20], v[20][20], sol;
void solve () {
int sum = 0, i, j, s;
for (i = 1; i <= n; i++) {
if (t[i] == 0)
for (j = 1; j <= m; j++)
v[i][j] = mat[i][j];
else
for (j = 1; j <= m; j++)
v[i][j] = -mat[i][j];
}
for (i = 1; i <= m; i++) {
s = 0;
for (j = 1l; j <= n; j++)
s += v[j][i];
if (s > 0)
sum += s;
else
sum -= s;
}
sol = max(sol, sum);
}
void backtr(int p) {
if (p == n + 1) {
solve();
return;
}
t[p] = 0;
backtr(p + 1);
t[p] = 1;
backtr(p + 1);
}
int main() {
int i,j;
ifstream cin ("flip.in");
ofstream cout ("flip.out");
cin >> n >> m;
for (i = 1; i <= n; i++) {
for (j = 1; j <= m; j++)
cin >> mat[i][j];
}
backtr(1);
cout << sol;
return 0;
}