Pagini recente » Cod sursa (job #2035091) | Cod sursa (job #1091006) | Cod sursa (job #1800815) | Cod sursa (job #882717) | Cod sursa (job #2930109)
#include <bits/stdc++.h>
int max_sum(int matrix[16][16], int m, int n) {
int s1 = 0, s2 = 0;
for (int i = 0; i < m; i++) { // switching by rows
int sum_row = 0;
for (int j = 0; j < n; j++) sum_row += matrix[i][j];
s1 += std::abs(sum_row);
if (sum_row > 0) continue;
for (int j = 0; j < n; j++) matrix[i][j] *= -1;
}
for (int j = 0; j < n; j++) { // switching by columns
int sum_col = 0;
for (int i = 0; i < m; i++) sum_col += matrix[i][j];
s2 += std::abs(sum_col);
if (sum_col > 0) continue;
for (int i = 0; j < n; j++) matrix[i][j] *= -1;
}
return std::max(s1, s2);
}
int main() {
std::ifstream f("flip.in");
std::ofstream g("flip.out");
int m, n;
f >> m >> n;
int matrix[16][16];
for (int i = 0; i < m; i++)
for (int j = 0; j < n; j++)
f >> matrix[i][j];
f.close();
g << max_sum(matrix, m, n);
g.close();
return 0;
}