Pagini recente » Cod sursa (job #2443350) | Cod sursa (job #122892) | Cod sursa (job #1696113) | Cod sursa (job #3222371) | Cod sursa (job #348747)
Cod sursa(job #348747)
#include<stdio.h>
FILE *f=fopen("flip.in","r");
FILE *g=fopen("flip.out","w");
int n,m,i,j;
long a[17][17];
long long s,max1,max2;
int Suma(long a[17][17],long long s)
{for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s=s+a[i][j];
return s;
}
void ScmbC(long a[17][17],int &j)
{int x;
for(x=1;x<=n;x++)
if(a[x][j]!=0)
if(a[x][j]>0)a[x][j]=a[x][j]*(-1);
else a[x][j]=a[x][j]*(-1);
}
void ScmbR(long a[17][17], int &i)
{int y;
for(y=1;y<=m;y++)
if(a[i][y]!=0)
if(a[i][y]>0)a[i][y]=a[i][y]*(-1);
else a[i][y]=a[i][y]*(-1);
}
int Maxim(long a[17][17],long long max2,int &i,int &j)
{int x;
long long sum;
sum=Suma(a,0);
if(sum>max2)max2=sum;
ScmbC(a,j);
sum=Suma(a,0);
if(sum>max2)max2=sum;
ScmbR(a,i);
sum=Suma(a,0);
if(sum>max2)max2=sum;
ScmbC(a,j);
sum=Suma(a,0);
if(sum>max2)max2=sum;
ScmbR(a,i);
return max2;
}
int main()
{fscanf(f,"%d,%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
scanf("%ld",a[i][j]);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{s=Maxim(a,0,i,j);
if(s>max1)max1=s;}
fprintf(g,"%lld",max1);
fcloseall();
return 0;
}