Pagini recente » Cod sursa (job #527357) | Cod sursa (job #597264) | Cod sursa (job #888435) | Cod sursa (job #255019) | Cod sursa (job #2492161)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void citire (int n,int m,int a[][17],FILE *in)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
fscanf(in,"%d",&a[i][j]);
}
int sumax (int n,int m,int a[][17])
{
int s=0,s1,s2;
for(int i=0;i<n;i++)
{
s1=s2=0;
for(int j=0;j<m;j++)
if(a[i][j]>0)
s1=s1+a[i][j];
else
s2=s2+a[i][j];
if(abs(s2)>s1)
for(int j=0;j<m;j++)
a[i][j]=-a[i][j];
}
for(int j=0;j<m;j++)
{
s1=s2=0;
for(int i=0;i<n;i++)
if(a[i][j]>0)
s1=s1+a[i][j];
else
s2=s2+a[i][j];
if(abs(s2)>s1)
for(int i=0;i<n;i++)
a[i][j]=-a[i][j];
}
for(int i=0;i<n;i++)
{
s1=s2=0;
for(int j=0;j<m;j++)
if(a[i][j]>0)
s1=s1+a[i][j];
else
s2=s2+a[i][j];
if(abs(s2)>s1)
for(int j=0;j<m;j++)
a[i][j]=-a[i][j];
}
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
s=s+a[i][j];
return s;
}
int main()
{
int m,n,a[17][17];
int s;
FILE *in = fopen("flip.in","rt");
fscanf(in,"%d",&n);
fscanf(in,"%d",&m);
citire(n,m,a,in);
fclose(in);
s = sumax(n,m,a);
FILE *out = fopen("flip.out","wt");
fprintf(out,"%d",s);
fclose(out);
return 0;
}