Pagini recente » Cod sursa (job #1757452) | Cod sursa (job #2753827) | Cod sursa (job #2563270) | Cod sursa (job #1420787) | Cod sursa (job #2460507)
#include <bits/stdc++.h>
#define NM 20
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,sMax,a[NM][NM];
bool st[NM];
void Read();
void Solve();
void BKT(int);
void SolBKT();
int main()
{ Read();
Solve();
}
void Read()
{ f>>n>>m;
for(int i=1; i<=n; i++)
for(int j=1; j<=m; j++)
f>>a[i][j];
}
void SolBKT()
{ for(int j=1; j<=m; j++)
if(st[j])
for(int i=1; i<=n; i++)
a[i][j]*=(-1);
int sTotal=0;
for(int i=1; i<=n; i++)
{ int sum=0;
for(int j=1; j<=m; j++)
sum+=a[i][j];
sTotal+=(sum<0 ? -sum : sum);
}
sMax=max(sMax,sTotal);
for(int j=1; j<=m; j++)
if(st[j])
for(int i=1; i<=n; i++)
a[i][j]*=(-1);
}
void BKT(int vf)
{ if(vf==m+1)
SolBKT();
else
for(int i=0; i<=1; i++)
{ st[vf]=i;
BKT(vf+1);
}
}
void Solve()
{ BKT(1);
g<<sMax;
}