Pagini recente » Cod sursa (job #2540219) | Cod sursa (job #1833362) | Cod sursa (job #1338338) | Cod sursa (job #558296) | Cod sursa (job #299860)
Cod sursa(job #299860)
#include<stdio.h>
int v[20][20],n,m;
int ox(int k)
{int z=0;
for(int i=1;i<=m;i++)
z=z+v[k][i];
if(z<0)
{for(int i=1;i<=m;i++)
v[k][i]=-v[k][i];
return -z;}
return 0;
}
int oy(int k)
{int z=0;
for(int i=1;i<=n;i++)
z=z+v[i][k];
if(z<0)
{for(int i=1;i<=n;i++)
v[i][k]=-v[i][k];
return -z;
}return 0;}
int main()
{ int done=0,q=0,d=1,www=1,wako=0,b1,b,y,y1;
freopen("flip.in","r",stdin);
freopen("flip.out","w",stdout);
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int i2=1;i2<=m;i2++)
scanf("%d",&v[i][i2]);
while(done==0)
{done=1;
if(d%2==1)
{
b=0;
y=0;
}
else
{
b1=0;
y1=0;
}
if(wako==0||wako==1)
for(int i=1;i<=n;i++)
if(d%2==0)
b=b+ox(i);
else
b1=b1+ox(i);
if(wako==0||wako==2)
for(int i=1;i<=m;i++)
if(d%2==0)
y=y+oy(i);
else
y1=y1+oy(i);
if(b!=0||b1!=0)
done=0;
if(www==1)
done=1;
if(b1!=0&&b1==b&&y1==y&&y1!=0&&d==1000)
{
if(b1>y1)
wako=1;
else
wako=2;
www=1;
}
++d;
}
for(int i=1;i<=n;i++)
for(int i2=1;i2<=m;i2++)
q=q+v[i][i2];
printf("%d",q);
}