Pagini recente » Cod sursa (job #2179242) | Cod sursa (job #1977003) | Cod sursa (job #3244704) | Cod sursa (job #2404022) | Cod sursa (job #3187418)
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int n, m, A[20][20], B[20][20];
void schimbc(int e){
for(int i=1; i<=n; i++){
B[i][e] = -B[i][e];
}
}
void schimbr(int r){
for(int i=1; i<=m; i++){
B[r][i] = -B[r][i];
}
}
int calcul(){
int sumt=0;
for(int i=1; i<=n; i++){
int sumr = 0;
for(int j=1; j<=m; j++){
sumr += B[i][j];
}
if(sumr < 0){
schimbr(i);
}
sumt += abs(sumr);
}
return sumt;
}
void reschimb(){
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
B[i][j] = A[i][j];
}
}
}
int main(){
ifstream cin("flip.in");
ofstream cout("flip.out");
cin >> n >> m;
for(int i=1; i<=n; i++){
for(int j=1; j<=m; j++){
cin >> A[i][j];
}
}
ll rs = -1e9;
for(int b=1; b<(1<<m); b++){
reschimb();
for(int i=0; i<m; i++){
if((1<<i) & b){
schimbc(i+1);
}
}
ll suma = calcul();
if(suma > rs){
rs = suma;
}
}
cout << rs << endl;
return 0;
}