Pagini recente » Cod sursa (job #2964773) | Cod sursa (job #1427420) | Cod sursa (job #355986) | Cod sursa (job #1236418) | Cod sursa (job #1385290)
#include <cstdio>
#define nmax 20
using namespace std;
struct linii
{
int a11, a21;
}la1[nmax];
struct coloane
{
int a12, a22;
}la2[nmax];
int matr[nmax][nmax];
int main()
{
freopen("flip.in", "r", stdin);
freopen("flip.out", "w", stdout);
short n, m, i, j;
long long s=0LL, maxim=-1000001;
scanf("%hd%hd", &n, &m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%d", &matr[i][j]);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
matr[i][j]<0?la1[i].a21+=matr[i][j]:la1[i].a11+=matr[i][j];
s+=la1[i].a11;
s+=la1[i].a21;
}
for(j=1;j<=m;j++)
{
for(i=1;i<=n;i++)
matr[i][j]<0?la2[j].a22+=matr[i][j]:la2[j].a12+=matr[i][j];
}
maxim=maxim<s?s:maxim;
for(i=1;i<=n;i++)
{
if(la1[i].a11<la1[i].a21*-1)
{
for(j=1;j<=m;j++)
{
matr[i][j]*=-1;
la1[i].a11+=matr[i][j];
la1[i].a21+=matr[i][j];
la2[j].a22+=matr[i][j];
la2[j].a12+=matr[i][j];
}
}
}
for(j=1;j<=m;j++)
{
if(la2[j].a12<la2[j].a22*-1)
{
for(i=1;i<=n;i++)
{
matr[i][j]*=-1;
la1[i].a11+=matr[i][j];
la1[i].a21+=matr[i][j];
la2[j].a22+=matr[i][j];
la2[j].a12+=matr[i][j];
}
}
}
s=0;
for(i=1;i<=n;i++)
{
s+=la1[i].a11;
s+=la1[i].a21;
}
maxim=maxim<s?s:maxim;
printf("%I64d\n", maxim);
return 0;
}