Pagini recente » Cod sursa (job #1387369) | Cod sursa (job #871894) | Cod sursa (job #93716) | Cod sursa (job #1449435) | Cod sursa (job #94025)
Cod sursa(job #94025)
#include<fstream.h>
#define mx 20
ifstream f("flip.in");
ofstream g("flip.out");
long c[mx][mx],b[mx][mx];
int a[mx],i,j,m,n;
long long s1,s2,S,max;
void start()
{
for(i=1;i<=m;i++)
if(a[i])
for(j=1;j<=n;j++) b[j][i]=-1*c[j][i];
else for(j=1;j<=n;j++) b[j][i]=c[j][i];
S=0;
for(i=1;i<=n;i++)
{
s1=0; s2=0;
for(j=1;j<=m;j++) if(b[i][j]>0) s1=s1+b[i][j];
else s2=s2-b[i][j];
if(s1>s2) S=s1+S-s2;
else S=s2+S-s1;
}
if(S>max) max=S;
}
void back(int k)
{
if(k==m+1)
{
start();
return;
}
a[k]=0;
back(k+1);
a[k]=1;
back(k+1);
}
int main()
{
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>c[i][j];
back(1);
g<<max;
g.close();
return 0;
}