Pagini recente » Cod sursa (job #2848489) | Monitorul de evaluare | Cod sursa (job #1532941) | Cod sursa (job #2764693) | Cod sursa (job #3334428)
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
const int MAXN=16;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[MAXN+1][MAXN+1];
int main() {
int n,m;
fin>>n>>m;
for(int i=0; i<n; i++) {
for(int j=0; j<m; j++) {
fin>>a[i][j];
}
}
int maxm=(1<<n);
int ans=0;
for(int mask=0; mask<maxm; mask++) {
for(int i=0; i<n; i++) {
if(mask&(1<<i)) {
for(int j=0; j<m; j++) {
a[i][j]=-a[i][j];
}
}
}
int sum = 0;
for(int i=0; i<m; i++) {
int col=0;
for(int j=0; j<n; j++) {
col+=a[j][i];
}
sum+=abs(col);
}
for(int j=0; j<n; j++) {
if(mask&(1<<j)) {
for(int k=0; k<m; ++k) {
a[j][k]=-a[j][k];
}
}
}
ans=max(ans,sum);
}
fout<<ans<<'\n';
return 0;
}