Pagini recente » Cod sursa (job #459166) | Cod sursa (job #2051581) | Cod sursa (job #768757) | Cod sursa (job #843515) | Cod sursa (job #3219541)
#include <iostream>
#include <fstream>
using namespace std;
#define MAX 16
int main() {
ifstream fin("flip.in");
ofstream fout("flip.out");
int N, M, m[MAX][MAX];
int suma_linie = 0, column_holder, suma_coloana = 0, suma = 0, checker = 1, counter = 0, suma_max = 0;
int v[MAX];
fin>>N>>M;
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
fin>>m[i][j];
}
}
while(checker != 0 && counter < MAX){
checker = 0;
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
suma_linie = suma_linie + m[i][j];
column_holder = i;
}
if(suma_linie < 0) {
for(int i = 0; i < N; i++){
m[column_holder][i] = m[column_holder][i] * -1;
}
suma_linie = suma_linie * -1;
checker = 1;
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
suma = suma + m[i][j];
}
}
v[counter] = suma;
counter++;
suma = 0;
}
suma_linie = 0;
}
for(int i = 0; i < M; i++){
for(int j = 0; j < N; j++){
suma_coloana = suma_coloana + m[j][i];
column_holder = i;
}
if(suma_coloana < 0) {
for(int i = 0; i < N; i++){
m[i][column_holder] = m[i][column_holder] * -1;
}
suma_coloana = suma_coloana * -1;
checker = 1;
for(int i = 0; i < N; i++){
for(int j = 0; j < M; j++){
suma = suma + m[i][j];
}
}
}
suma_coloana = 0;
}
v[counter] = suma;
counter++;
suma = 0;
}
for(int i = 0; i < counter; i++){
if(suma_max < v[i]){
suma_max = v[i];
}
}
fout<<suma_max;
fin.close();
fout.close();
return 0;
}