Pagini recente » Cod sursa (job #1922591) | Cod sursa (job #2101799) | Cod sursa (job #1690955) | Cod sursa (job #219803) | Cod sursa (job #2276133)
#include <bits/stdc++.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m, a[20][20], v[50], ans;
// v[i] = 1 => linia i este inmultita cu 1
// v[i] = -1 => linia i este inmultita cu -1
void solve() {
int sum = 0;
for(int j = 1; j <= m; ++j) {
int sCol = 0;
for(int i = 1; i <= n; ++i) {
sCol += (v[i] * a[i][j]);
}
if(sCol < 0) {
sCol = -sCol;
}
sum += sCol;
}
ans = max(ans, sum);
}
void back(int k) {
for(int i = -1; i <= 1; i += 2) {
v[k] = i;
if(k == n) {
solve();
} else {
back(k + 1);
}
}
}
int main() {
ios::sync_with_stdio(false); in.tie(0); out.tie(0);
in >> n >> m;
for(int i = 1; i <= n; ++i) {
for(int j = 1; j <= m; ++j) {
in >> a[i][j];
}
}
back(1);
out << ans << "\n";
in.close(); out.close();
return 0;
}