Pagini recente » Cod sursa (job #1136171) | Cod sursa (job #2826523) | Cod sursa (job #156999) | simulare_de_oni_6 | Cod sursa (job #316116)
Cod sursa(job #316116)
#include<cstdio>
#define maxn 16
using namespace std;
int a[maxn][maxn],x[maxn],i,j,n,m,k;
long long smax;
void ver()
{
int i,j,s=0,r;
for(i=1;i<=n;++i)
{
r=0;
for(j=1;j<=m;++j)
if(x[j]==2)
r-=a[i][j];
else
r+=a[i][j];
if(r>0) s+=r;
else s-=r;
}
if(s>smax) smax=s;
}
void verr()
{
int i,j,s=0,r;
for(i=1;i<=m;++i)
{
r=0;
for(j=1;j<=n;++j)
if(x[j]==2)
r-=a[j][i];
else
r+=a[j][i];
if(r>0) s+=r;
else s-=r;
}
if(s>smax) smax=s;
}
int main()
{
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for(i=1;i<=n;++i)
for(j=1;j<=m;++j)
scanf("%d",&a[i][j]);
k=1;
while(k)
if(k>m)
ver(),--k;
else
{
++x[k];
if(x[k]>2)
x[k--]=0;
else
++k;
}
while(k)
if(k>n)
verr(),--k;
else
{
++x[k];
if(x[k]>2)
x[k--]=0;
else
++k;
}
printf("%lld\n",smax);
fclose(stdin);
fclose(stdout);
return 0;
}