Cod sursa(job #249703)
Utilizator | Ilinca George Mihai 630r63 | Data | 28 ianuarie 2009 23:39:46 |
---|---|---|---|
Problema | Jocul Flip | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.7 kb |
#include<stdio.h>
long n,m,a[16][16],st[16],smax;
void back(int k)
{
int i,j,s,t;
if(k==m)
{ s=0;
for(i=0;i<n;++i)
{for(t=j=0;j<m;++j)
if(st[j]) t+=-a[i][j];
else t+=a[i][j];
s+=t<-t ? -t : t;
}
if(smax<s) smax=s;
return ;
}
st[k]=0; back(k+1);
st[k]=1; back(k+1);
}
int main()
{
long i,j;
freopen("flip.in","r",stdin);
scanf("%ld %ld",&n,&m);
for(i=0;i<n;++i)
for(j=0;j<m;++j)
scanf("%ld",a[i]+j);
back(0);
freopen("flip.out","w",stdout);
printf("%ld\n",smax);
return 0;
}