Pagini recente » Cod sursa (job #3233137) | Cod sursa (job #675186) | Cod sursa (job #519227) | Cod sursa (job #2842095) | Cod sursa (job #3279159)
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
int N, M;
fin >> N >> M;
vector<vector<int>> board(N, vector<int>(M));
for (int i = 0; i < N; i++)
for (int j = 0; j < M; j++)
fin >> board[i][j];
int maxSum = -INF;
for (int mask = 0; mask < (1 << N); mask++) {
vector<vector<int>> temp = board;
for (int i = 0; i < N; i++) {
if (mask & (1 << i)) {
for (int j = 0; j < M; j++) {
temp[i][j] *= -1;
}
}
}
int sum = 0;
for (int j = 0; j < M; j++) {
int colSum = 0;
for (int i = 0; i < N; i++) {
colSum += temp[i][j];
}
if (colSum < 0) {
colSum *= -1;
}
sum += colSum;
}
maxSum = max(maxSum, sum);
}
fout << maxSum << "\n";
return 0;
}