Pagini recente » Cod sursa (job #805334) | Cod sursa (job #3252815) | Cod sursa (job #1727677) | Cod sursa (job #2036411) | Cod sursa (job #2447677)
#include <iostream>
#include <fstream>
using namespace std;
int main() {
ifstream fin;
ofstream fout;
fin.open("flip.in");
fout.open("flip.out");
int n, m, s;
int max = -1000;
fin >> n >> m;
int board[n][m];
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
fin >> board[i][j];
}
}
bool ok = false;
while (!ok) {
ok = true;
// verific coloanele
for (int i = 0; i < n; ++i) {
s = 0;
for (int j = 0; j < m; ++j) {
s += board[i][j];
}
if (s < 0) {
for (int j = 0; j < m; ++j) {
board[i][j] = -board[i][j];
ok = false;
}
}
}
// verific liniile
for (int j = 0; j < m; ++j) {
s = 0;
for (int i = 0; i < n; ++i) {
s += board[i][j];
}
if (s < 0) {
for (int i = 0; i < n; ++i) {
board[i][j] = -board[i][j];
ok = false;
}
}
}
s = 0;
for (int i = 0; i < n; ++i) {
for (int j = 0; j < m; ++j) {
s += board[i][j];
}
}
if (s > max) {
max = s;
}
}
fout << max;
fin.close();
fout.close();
return 0;
}