Pagini recente » Cod sursa (job #1978441) | Cod sursa (job #3166240) | Cod sursa (job #3162980) | Cod sursa (job #1537107) | Cod sursa (job #1779365)
#include <bits/stdc++.h>
using namespace std;
int a[20][20],b[20][20],c[20],n,m;
long long smax=-9999999999;
void Try(){
long long s=0,t=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) b[i][j]=a[i][j];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) if(c[j]) b[i][j]*=(-1);
}
for(int i=1;i<=n;i++){
t=0;
for(int j=1;j<=m;j++) t+=b[i][j];
if(t>0) s+=t;
else s-=t;
}
if(s>smax) smax=s;
}
void MakeC(int k){
if(k==m) {
Try();
c[k]=1;
Try();
c[k]=0;
}
else{
MakeC(k+1);
c[k]=1;
MakeC(k+1);
c[k]=0;
}
}
int main()
{
ifstream in("flip.in");
ofstream out("flip.out");
in >> n >> m;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) in >> a[i][j];
}
MakeC(1);
cout << smax;
}