Pagini recente » Cod sursa (job #1245160) | Cod sursa (job #2427568) | Cod sursa (job #2706535) | Cod sursa (job #634799) | Cod sursa (job #1947847)
#include <bits/stdc++.h>
using namespace std;
int n, m, a[20][20], v[20], ans = INT_MIN;
ifstream i("flip.in");
ofstream o("flip.out");
void calculate();
void backtracking(int k);
void calculate(){
int sumtot = 0;
for(int i = 1; i <= m; i++){
int sum = 0;
for(int j = 1; j <= n; j++) sum += a[j][1]*v[i];
sumtot += max(sum, sum*-1);
}
ans = max(ans, sumtot);
}
void backtracking(int k){
if(k > n)
calculate();
else{
v[k] = 1;
backtracking(k+1);
v[k] = -1;
backtracking(k+1);
}
}
int main(){
i>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++) i>>a[i][j];
backtracking(1);
o<<ans;
i.close(); o.close();
return 0;
}