Pagini recente » Cod sursa (job #2341424) | Cod sursa (job #3133374) | Cod sursa (job #1103064) | Cod sursa (job #160670) | Cod sursa (job #2582274)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <climits>
#include <math.h>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n, m, maxs;
int matrix[20][20];
int v[20];
void backtraking(int k){
int s, sf = 0;
if(k == m + 1){
for(int i = 1; i <= n; i++){
s = 0;
for(int j = 1; j <= m; j++){
s += matrix[i][j] * v[j];
}
if(s < 0)
s = -s;
sf += s;
}
maxs = max(maxs, sf);
}else{
v[k] = 1;
backtraking(k+1);
v[k] = -1;
backtraking(k+1);
}
}
int main(){
in >> n >> m;
for(int i = 1; i <= n; i++){
for(int j = 1; j <= m; j++){
in >> matrix[i][j];
}
}
backtraking(1);
out << maxs << '\n';
}