Pagini recente » Cod sursa (job #2770708) | Cod sursa (job #1723199) | Cod sursa (job #1275720) | Cod sursa (job #2227712) | Cod sursa (job #1586685)
#include <stdio.h>
#define Nmax 16
int N,M,A[Nmax][Nmax],x[Nmax],y[Nmax],BestSum;
void citire()
{int i,j;
freopen("flip.in","r",stdin);
scanf("%d%d",&N,&M);
for(i = 1; i <= N; ++i)
for(j = 1; j <= M; ++j)
scanf("%d",&A[i][j]);
}
void Sol()
{
int sum=0,sgn;
int i,j;
for(i=1;i<=N;++i)
{sgn=1;
if(x[i]==2)
sgn*=-1;
for(j=1;j<=M;++j)
{
if(y[j]==2)
sgn*=-1;
sum+=sgn*A[i][j];
}
}
if(BestSum<sum)
BestSum=sum;
}
void Bck2(int k)
{int i;
for(i=1;i<=2;++i)
{y[k]=i;
if(k<M) Bck2(k+1);
if(k==M) Sol();
}
}
void Bck1(int k)
{int i;
for(i=1;i<=2;++i)
{x[k]=i;
if(k<N) Bck1(k+1);
if(k==N) Bck2(1);
}
}
int main()
{
freopen("flip.out","w",stdout);
citire();
Bck1(1);
printf("%d",BestSum);
return 0;
}