Pagini recente » Cod sursa (job #2359027) | Cod sursa (job #2167243) | Cod sursa (job #2814082) | Cod sursa (job #1234017) | Cod sursa (job #317323)
Cod sursa(job #317323)
#include<stdio.h>
int a[500][17],n,m,c[500],d[500];
int r,g,b,e,f;
int sum1(int j)
{int s=0;
for(int k=1;k<=n;k++)
s+=a[k][j];
return s;
}
int sum2(int i)
{int s=0;
for(int k=1;k<=m;k++)
s+=a[i][k];
return s;
}
int sum3()
{int s=0;
for(int k=1;k<=n;k++)
s+=c[k];
return s;
}
int sum4()
{int s=0;
for(int k=1;k<=m;k++)
s+=d[k];
return s;
}
void schimbare1(int j)
{for(int k=1;k<=n;k++)
c[k]=a[k][j]*-1;
}
void schimbare2(int i)
{for(int k=1;k<=m;k++)
d[k]=a[i][k]*-1;
}
void schimbare3(int j)
{for(int k=1;k<=n;k++)
a[k][j]=c[k];
}
void schimbare4(int i)
{for(int k=1;k<=m;k++)
a[i][k]=d[k];
}
int summax()
{int s=0;
for(int i=1;i<=n;i++)
for(int k=1;k<=m;k++)
s+=a[i][k];
return s;
}
int main()
{freopen("flip.in","r",stdin);
freopen ("flip.out","w",stdout);
scanf("%d %d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",&a[i][j]);
for(i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(a[i][j])
{
g=sum1(j);
schimbare1(j);
b=sum3();
e=sum2(i);
schimbare2(i);
f=sum4();
if(b>g)
schimbare3(j);
if(f>e)
schimbare4(i);
}
r=summax();
printf("%d",r);
return 0;
}