Pagini recente » Cod sursa (job #2135962) | Cod sursa (job #1304385) | Cod sursa (job #2889361) | Cod sursa (job #2251708) | Cod sursa (job #588405)
Cod sursa(job #588405)
#include <cstdio>
#include <cmath>
FILE *g=fopen("flip.in","r");
FILE *z=fopen("flip.out","w");
using namespace std;
int main()
{
int a[20][20],spoz=0,sneg=0,s=0,smax;
int i,j,n,m;
fscanf(g,"%d%d",&n,&m);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(g,"%d",&a[i][j]);
for(i=1;i<=n;i++)
{
spoz=0; sneg=0;
for(j=1;j<=m;j++)
{
if(a[i][j]>0) spoz+=a[i][j];
if(a[i][j]<0) sneg+=abs(a[i][j]);
}
if(spoz<sneg)
for(int u=1;u<=m;u++)
a[i][j]*=-1;
}//inmultesc lini
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
smax=s; //smax prea suma initiala
s=0;
for(j=1;j<=m;j++)
{
spoz=0; sneg=0;
for(i=1;i<=n;i++)
{
if(a[j][i]>0) spoz+=a[j][i];
if(a[j][i]<0) sneg+=abs(a[j][i]);
}
if(spoz<sneg)
for(int u=1;u<=n;u++)
a[j][i]*=-1;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
if(smax<s) smax=s;
s=0;
for(i=1;i<=n;i++)
{
spoz=0; sneg=0;
for(j=1;j<=m;j++)
{
if(a[i][j]>0) spoz+=a[i][j];
if(a[i][j]<0) sneg+=abs(a[i][j]);
}
if(spoz<sneg)
for(int u=1;u<=n;u++)
a[i][u]*=-1;
}//inmultesc lini
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
if(smax<s) smax=s;
s=0;
for(j=1;j<=m;j++)
{
spoz=0; sneg=0;
for(i=1;i<=n;i++)
{
if(a[i][j]>0) spoz+=a[i][j];
if(a[i][j]<0) sneg+=abs(a[i][j]);
}
if(spoz<sneg)
for(int u=1;u<=n;u++)
a[u][j]*=-1;
}
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s+=a[i][j];
if(smax<s) smax=s;
s=0;
fprintf(z,"%d",smax);
return 0;
}