Pagini recente » Cod sursa (job #3226981) | Cod sursa (job #2724298) | Cod sursa (job #575441) | Cod sursa (job #2683303) | Cod sursa (job #324498)
Cod sursa(job #324498)
#include<fstream.h>
#include<math.h>
long x[16][16];
struct sum
{
long poz;
long neg;
};
sum a[16],b[16];
long n,m;
int main()
{
ifstream fin("flip.in");
ofstream fout("flip.out");
fin>>n>>m;
long i,j;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
fin>>x[i][j];
int k=1;
int aux;
while (k)
{
k=0;
for (i=0;i<n && !k;i++)
{
for (j=0;j<m;j++)
if (x[i][j]>0)
a[i].poz+=x[i][j];
else
a[i].neg+=abs(x[i][j]);
if (a[i].poz<a[i].neg)
{
k=1;
for (aux=0;aux<m;aux++)
x[i][aux]*=-1;
}
}
for (j=0;j<m && !k;j++)
{
for (i=0;i<n;i++)
if (x[i][j]>0)
b[j].poz+=x[i][j];
else
b[j].neg+=abs(x[i][j]);
if (b[j].poz<b[j].neg)
{
k=1;
for (aux=0;aux<n;aux++)
x[aux][j]*=-1;
}
}
}
int max=0;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
max+=x[i][j];
fout<<max;
fin.close();
fout.close();
return 0;
}