Pagini recente » Cod sursa (job #312831) | Cod sursa (job #2846694) | Cod sursa (job #1668233) | Cod sursa (job #2717679) | Cod sursa (job #40882)
Cod sursa(job #40882)
#include<fstream.h>
#include<limits.h>
#define InFile "flip.in"
#define OutFile "flip.out"
#define Max 18
long a[Max][Max];
int n,m;
void citire()
{ ifstream f(InFile);
f>>n>>m;
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
f.close();
}
int suma(long l[Max][Max])
{ int i,j,s=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
s=s+l[i][j];
return s;
}
void prelucrare()
{ int i,j,x1=0,x2=0;
long min1,min2,s=0,s1;
min1=min2=LONG_MAX;
s1=LONG_MIN;
if(suma(a)>s1) s1=suma(a);
for(i=1;i<=n;i++)
{ s=0;
for(j=1;j<=m;j++)
s=s+a[i][j];
if(s<min1 && s<0)
{ min1=s;
x1=i;
}
}
for(i=1;i<=m;i++)
{ s=0;
for(j=1;j<=n;j++)
s=s+a[j][i];
if(s<min2 && s<0)
{ min2=s;
x2=i;
}
}
s=0;
for(i=1;i<=m;i++)
a[x1][i]=-a[x1][i];
if(suma(a)>s1) s1=suma(a);
for(i=1;i<=n;i++)
a[i][x2]=-a[i][x2];
if(suma(a)>s1) s1=suma(a);
ofstream g(OutFile);
g<<s1;
g.close();
}
int main()
{ citire();
prelucrare();
return 0;
}