Pagini recente » Cod sursa (job #57982) | Cod sursa (job #2082857) | Cod sursa (job #2260471) | Cod sursa (job #636600) | Cod sursa (job #2061757)
#include <bits/stdc++.h>
using namespace std;
int ma[20][20], maxs = 0, cl[20][20];
void coloane(int n, int m) {
for (int j = 1; j <= m; j++) {
int s = 0;
for (int i = 1; i <= n; i++)
s = s + ma[i][j];
if (s < 0) {
for (int i = 1; i <= n; i++)
ma[i][j] = ma[i][j] * -1;
s = 0;
for (int i = 1; i <= n; i++)
for(int k = 1; k <= m; k++)
s = s + ma[i][k];
if (s >= maxs) {
maxs = s;
for (int i = 1; i <= n; i++)
for(int k = 1; k <= m; k++)
cl[i][k] = ma[i][k]; }
coloane(n, m); } } }
void lini(int n, int m) {
for (int i = 1; i <= n; i++) {
int s = 0;
for (int j = 1; j <= m; j++)
s = s + cl[i][j];
if (s < 0) {
s = 0;
for (int j = 1; j <= m; j++)
cl[i][j] = cl[i][j] * -1;
for (int k = 1; k <= n; k++)
for (int j = 1; j <= m; j++)
s = s + cl[k][j];
if(s >= maxs) {
maxs = s;
lini(n, m); } } } }
int main() {
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
int n, m;
scanf("%d", &n);
scanf("%d", &m);
for (int i = 1; i <= n; i++)
for (int j = 1; j <= m; j++)
scanf("%d", &ma[i][j]);
coloane(n, m);
lini(n, m);
printf("%d", maxs);
return 0; }