Pagini recente » Cod sursa (job #894254) | Cod sursa (job #38582) | Cod sursa (job #920085) | Cod sursa (job #3252858) | Cod sursa (job #358584)
Cod sursa(job #358584)
#include<stdio.h>
int N,M,a[20][20];
int max,sol1[20],sol2[20];
void citire();
void bkt1(int);
void bkt2(int);
void pupu();
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
citire();
bkt1(1);
printf("%d ", max);
return 0;
}
void citire()
{
scanf("%d%d ", &N,&M);
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
scanf("%d ",&a[i][j]);
}
void bkt1(int p)
{
if(p==N+1)
{
bkt2(1);
return;
}
sol1[p]=-1;
bkt1(p+1);
sol1[p]=1;
bkt1(p+1);
}
void pupu()
{
int s=0;
for(int i=1;i<=N;++i)
for(int j=1;j<=M;++j)
{
if(sol1[i]==sol2[j])
s+=a[i][j]*sol1[i]*sol2[j];
if(sol1[i]!=sol2[j])
s+=a[i][j]*sol1[i]*sol2[j];
}
if(s>max)
max=s;
}
void bkt2(int p)
{
if(p==M+1)
{
pupu();
return;
}
sol2[p]=-1;
bkt2(p+1);
sol2[p]=1;
bkt2(p+1);
}