Pagini recente » Cod sursa (job #2171424) | Cod sursa (job #98547) | Cod sursa (job #1477043) | Cod sursa (job #1087580) | Cod sursa (job #1207757)
#include <cstdio>
using namespace std;
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");
int v[20][20],n,m,smin;
inline int sumlin(int i)
{int j;
int sum=0;
for (j=1;j<=m;j++) sum+=v[i][j];
return sum;
}
inline int sumcol(int j)
{int i;
int sum=0;
for (i=1;i<=n;i++) sum+=v[i][j];
return sum;
}
inline void revlin(int i)
{int j;
for (j=1;j<=m;j++) v[i][j]=-v[i][j];}
inline void revcol(int j)
{int i;
for (i=1;i<=n;i++) v[i][j]=-v[i][j];}
int main()
{int i,j,l,c;
long long s;
fscanf(f,"%d %d",&n,&m);
for (i=1;i<=n;i++) for (j=1;j<=m;j++) fscanf(f,"%d",&v[i][j]);
do
{l=0;c=0;
smin=0;
for (i=1;i<=n;i++) {s=sumlin(i);
if (s<smin) {l=i;
smin=s;}
}
for (j=1;j<=m;j++) {s=sumcol(j);
if (s<smin) {c=j;
smin=s;}
}
if (sumlin(l)<sumcol(c)) revlin(l);
else revcol(c);
}while (smin<0);
s=0;
for (i=1;i<=n;i++) for (j=1;j<=m;j++) s+=v[i][j];
fprintf(g,"%lld",s);
return 0;
}