Pagini recente » Diferente pentru preoni-2007/runda-3/solutii intre reviziile 38 si 37 | Cod sursa (job #1744076) | Cod sursa (job #804780) | Cod sursa (job #403712) | Cod sursa (job #711841)
Cod sursa(job #711841)
#include<stdio.h>
long a[20][20],sl,sc,max;
int i,j,n,m,p;
FILE *f,*g;
void verif()
{
long s;
s=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++) s=s+a[i][j];
if (s>max) max=s ;
}
int main()
{
f=fopen("flip.in","r+");
g=fopen("flip.out","w+");
fscanf(f,"%d %d",&n,&m);
max=0;
for (i=1;i<=n;i++)
for (j=1;j<=m;j++)
{fscanf(f,"%ld",&a[i][j]);max=max+a[i][j];};
for (p=1;p<=n*m;p++)
{
for (i=1;i<=n;i++)
{
sl=0;
for (j=1;j<=m;j++) sl=sl+a[i][j];
if (sl<0) {for (j=1;j<=m;j++) a[i][j]=-a[i][j];
verif();
p=p-1; i=n+1;break;}
}
for (j=1;j<=m;j++)
{
sc=0;
for (i=1;i<=n;i++) sc=sc+a[i][j];
if (sc<0) {for (i=1;i<=n;i++) a[i][j]=-a[i][j];
verif();
p=p-1;j=m+1;break;}
}
}
fprintf(g,"%ld",max);
fclose(f);
fclose(g);
return 0;
}