Pagini recente » Cod sursa (job #142765) | Cod sursa (job #991072) | Cod sursa (job #3201946) | Cod sursa (job #58966) | Cod sursa (job #2772440)
#include <bits/stdc++.h>
using namespace std;
int N, M;
long long board[16][16];
long long sum, maxsum = INT64_MIN;
bool col[16], row[16];
void sum_board() {
sum = 0;
for (int j = 0; j < M; j++) {
int s = 0;
for (int i = 0; i < N; i++) {
if (row[i] == true) {
s += (-1)*board[i][j];
}
else {
s += board[i][j];
}
}
if (s < (-1) * s) {
s = (-1) * s;
}
sum += s;
}
maxsum = max(sum, maxsum);
}
void bkt(int k) {
if (k == N) {
sum_board();
}
else {
for (int i = 0; i < N; i++) {
if (row[i]) continue;
row[i] = true;
bkt(k+1);
row[i] = false;
bkt(k+1);
}
}
}
int main() {
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
cin >> N >> M;
for (int i = 0; i < N; i++) {
for (int j = 0; j < M; j++) {
cin >> board[i][j];
}
}
bkt(1);
cout << maxsum << endl;
}