Pagini recente » Cod sursa (job #2319561) | Cod sursa (job #240607) | Cod sursa (job #599925) | Cod sursa (job #883854) | Cod sursa (job #767125)
Cod sursa(job #767125)
#include <fstream>
using namespace std;
ifstream fi;
ofstream fo;
int n, m;
int tabla[16][16];
long long sumaMax;
long long suma;
long long sumaLinie;
bool solStack[16];
void verifica(){
suma = 0;
for (int i = 0; i<n; i++){
sumaLinie = 0;
for (int j = 0; j < m; j++){
if (solStack[j]){
sumaLinie += tabla[i][j];
} else {
sumaLinie -= tabla[i][j];
}
}
if (sumaLinie < 0){
sumaLinie = -sumaLinie;
}
suma += sumaLinie;
}
if (suma > sumaMax){
sumaMax = suma;
}
}
void back(int step){
if (step == m){
verifica();
} else {
solStack[step] = false;
back(step+1);
solStack[step] = true;
back(step+1);
}
}
int main(){
sumaMax = 0;
fi.open("flip.in");
fi >> n >> m;
for (int i = 0; i < n; i++){
for (int j = 0; j < m; j++){
fi >> tabla[i][j];
}
}
fi.close();
back(0);
fo.open("flip.out");
fo << sumaMax;
fo.close();
return 0;
}