Pagini recente » Cod sursa (job #492949) | Istoria paginii runda/ofjaso20165 | Cod sursa (job #1180205) | Cod sursa (job #503430) | Cod sursa (job #1216223)
/*
* File: main.cpp
* Author: veronica
*
* Created on August 3, 2014, 12:51 PM
*/
#include <cstdlib>
#include <fstream>
int n, m;
int table[16][16];
long int max;
int sol[16];
long int get_sum() {
long int s = 0;
for(int i = 0; i < n; i++) {
int line = 0;
for(int j = 0; j < m; j++) {
line += sol[j] * table[i][j];
}
if(line > 0)
s += line;
else
s -= line;
}
return s;
}
void bt(int step) {
if(step == n) {
long int sum = get_sum();
if(sum > max) {
max = sum;
}
}
else {
sol[step] = 1;
bt(step + 1);
sol[step] = -1;
bt(step + 1);
}
}
int main(int argc, char** argv) {
std::ifstream in("flip.in", std::ifstream::in);
std::ofstream out("flip.out", std::ofstream::out);
in>>n>>m;
for(int i = 0; i < n; i++) {
for(int j = 0; j < m; j++) {
in>>table[i][j];
}
}
for(int i = 0; i < m; i++) {
sol[i] = 1;
}
max = -256000000;
bt(0);
out<<max;
in.close();
out.close();
return 0;
}