Pagini recente » Cod sursa (job #2269175) | Cod sursa (job #559219) | Cod sursa (job #3291301) | Cod sursa (job #2676168) | Cod sursa (job #233278)
Cod sursa(job #233278)
#include<stdio.h>
#include<values.h>
FILE*f=fopen("flip.in","r");
FILE*g=fopen("flip.out","w");
int m,n,d[2]={1,-1},st[17],st1[17];
long a[17][17],max=-MAXLONG;
void citire()
{int i,j;
fscanf(f,"%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(f,"%ld",&a[i][j]);
}
long suma()
{int i,j;
long s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j]*st[i]*st1[j];
return s;
}
void bkt1(int p)
{int i;
long x;
for(i=0;i<2;i++)
{st1[p]=d[i];
if(p==m) {x=suma();
if(x>max) max=x;}
else bkt1(p+1);
}
}
void bkt(int k)
{int i;
for(i=0;i<2;i++)
{st[k]=d[i];
if(k==n) bkt1(1);
else bkt(k+1);
}
}
int main()
{citire();
bkt(1);
fprintf(g,"%ld",max);
fcloseall();
return 0;
}