Pagini recente » Cod sursa (job #2824101) | Cod sursa (job #3343500) | Cod sursa (job #3353936) | Cod sursa (job #161387) | Cod sursa (job #3349494)
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
const int N = 17;
int n,m, a[N][N],s = 0, smax = INT_MIN, is_fliped[N];
void citire(){
fin >> n >> m;
for(int i = 1; i<=n; i++){
for(int j = 1; j<=m; j++){
fin >> a[i][j];
}
}
}
void flip_line(){
for(int i = 1; i<=n; i++){
if(is_fliped[i]){
for(int j = 1; j<=m; j++) a[i][j] *= -1;
}
}
}
void check_sum(){
int scol =0, sum = 0 ;
flip_line();
for(int j = 1; j<=m; j++){
scol = 0;
for(int i = 1; i<=n; i++) scol += a[i][j];
if(scol < 0) sum -= scol;
else sum += scol;
}
smax = max(sum, smax);
flip_line();
}
void back(int k){
if(k > n){
check_sum();
return;
}
for(int fliped = 0; fliped <= 1; fliped++ ){
is_fliped[k] = fliped;
back(k+1);
}
}
int main(){
citire();
back(1);
fout << smax;
return 0;
}