Pagini recente » Cod sursa (job #170275) | Cod sursa (job #3183299) | Cod sursa (job #553918) | Cod sursa (job #30598) | Cod sursa (job #1492954)
#include <fstream>
#include <bitset>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n, m, sum, s, smax;
int a[20][20], x[20][20];
bitset <20> b;
void flip(){
sum=0;
for(int i=1;i<=n;++i){
if(b[i])
for(int j=1;j<=m;++j) x[i][j]=-a[i][j];
else
for(int j=1;j<=m;++j) x[i][j]=a[i][j];
}
for(int j=1;j<=m;++j){
s=0;
for(int i=1;i<=n;++i) s+=x[i][j];
if(s<0) s=-s;
sum+=s;
}
smax=max(smax,sum);
}
void gp(int k){
if(k==n+1) flip();
else{
gp(k+1);
b[k]=1;
gp(k+1);
b[k]=0;
}
}
int main(){
fin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j) fin>>a[i][j];
gp(1);
fout<<smax;
return 0;
}