Pagini recente » Cod sursa (job #664794) | Cod sursa (job #660451) | Cod sursa (job #2197003) | Cod sursa (job #518560) | Cod sursa (job #2699253)
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int f[18],x[18][18],y[18][18],m,n,sol;
void solve() {
int i,j,s1,s2;
for(i=1;i<=n;i++) {
if(f[i]==0)
for(j=1;j<=m;j++)
y[i][j]=x[i][j];
else
for(j=1;j<=m;j++)
y[i][j]=-x[i][j];
}
s2=0;
for(j=1;j<=m;j++) {
s1=0;
for(i=1;i<=n;i++)
s1+=y[i][j];
if(s1<0)
s2-=s1;
else
s2+=s1;
}
sol=max(sol,s2);
}
void backt(int k) {
if(k==n+1)
solve();
else {
f[k]=0;
backt(k+1);
f[k]=1;
backt(k+1);
}
}
int main()
{
fin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
fin>>x[i][j];
backt(1);
fout<<sol;
return 0;
}