Cod sursa(job #24355)
Utilizator | Nae Mihai a7893 | Data | 2 martie 2007 09:44:55 |
---|---|---|---|
Problema | Jocul Flip | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<stdio.h>
int n,m,a[16][16],st[16],smax;
void back(int k)
{
int i,j,s,t;
if(k==m)
{
s=0;
for(t=i=0;i<n;i++)
for(j=0;j<m;j++)
if(st[j])
t+=-a[i][j];
else
t+=a[i][j];
if(s+=t<-t)
s+=-t;
else
s+=t;
if(smax<s)
smax=s;
return;
}
st[k]=0;
back(k+1);
st[k]=1;
back(k+1);
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
int i,j;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);
back(0);
printf("%d\n",smax+1);
return 0;
}