Pagini recente » Monitorul de evaluare | Cod sursa (job #2490729) | Cod sursa (job #564010) | Cod sursa (job #565272) | Cod sursa (job #554754)
Cod sursa(job #554754)
#include<stdio.h>
using namespace std;
int a[20][20],n,m;
int sign[20],smax;
FILE *in=fopen("flip.in","r"),*out=fopen("flip.out","w");
void check()
{
int i,j,s,suma=0;
for(j=1;j<=m;++j)
{
s=0;
for(i=1;i<=n;++i)
{
s+=sign[i]*a[i][j];
}
if(s<0)
s*=-1;
suma+=s;
}
if(smax<suma)
smax=suma;
}
void bkt(int pas)
{
if(pas==n+1)
check();
else
{
sign[pas]=1;
bkt(pas+1);
sign[pas]=-1;
bkt(pas+1);
}
}
int main()
{
int i,j;
fscanf(in,"%d %d",&n,&m);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
fscanf(in,"%d",&a[i][j]);
bkt(1);
fprintf(out,"%d\n",smax);
return 0;
}