Pagini recente » Cod sursa (job #863436) | Cod sursa (job #32829) | Cod sursa (job #954551) | Cod sursa (job #2860900) | Cod sursa (job #3187948)
#include<bits/stdc++.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m, dp[17][17], a[17], a1[17], b[17], b1[17];
void solve_m(int k) {
int s = 0, s1 = 0;
for (int i = 1; i <= n; i++) {
if (dp[i][k] >= 0)
s += dp[i][k]; else
s1 += dp[i][k];
}
a[k] = s;
a1[k] = s1;
}
void solve_n(int k) {
int s = 0, s1 = 0;
for (int i = 1; i <= m; i++) {
if (dp[k][i] >= 0) s += dp[k][i]; else
s1 += dp[k][i];
}
b[k] = s;
b1[k] = s1;
}
void suma() {
long long s = 0;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++) s += dp[i][j];
out << s;
}
void aut(int k) {
for (int i = 1; i <= n; i++) dp[i][k] = dp[i][k] * (-1);
}
void tua(int k) {
for (int i = 1; i <= m; i++) dp[k][i] = dp[k][i] * (-1);
}
int main() {
in >> n >> m;
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++) in >> dp[i][j];
for (int i = 1; i <= m; i++) {
solve_m(i);
}
for (int i = 1; i <= n; i++) {
solve_n(i);
}
long long s = 0;
for (int i = 1; i <= m; i++) {
if (abs(a1[i]) > abs(a[i])) {
aut(i);
}
}
for (int i = 1; i <= n; i++) {
if (abs(b1[i]) > abs(b[i]))
tua(i);
}
suma();
}