Pagini recente » Cod sursa (job #935702) | Cod sursa (job #335490) | Cod sursa (job #2627570) | Cod sursa (job #2347397) | Cod sursa (job #723420)
Cod sursa(job #723420)
#include<stdio.h>
int n,m,a[16][16],flip[16],max;
void read()
{
FILE*f=fopen("flip.in","r");
fscanf(f,"%d%d",&n,&m);
int i,j;
for(i=0;i<n;++i)
for(j=0;j<m;++j)
{fscanf(f,"%d",&a[i][j]);max+=a[i][j];}
fclose(f);
}
int abs(int x)
{
if(x<0)return x*(-1);
return x;
}
void verif()
{
int i,j,sum,rez=0;
for(i=0,sum=0;i<n;++i)
{
sum=0;
for(j=0;j<m;++j)
sum+=a[i][j]*flip[j];
rez+=abs(sum);
}
if(rez>max)max=rez;
}
void back(int k)
{
if(k==m)
verif();
else
{
flip[k]=1;
back(k+1);
flip[k]=-1;
back(k+1);
}
}
int main()
{
read();
back(0);
FILE*g=fopen("flip.out","w");
fprintf(g,"%d\n",max);
fclose(g);
return 0;
}