Pagini recente » Cod sursa (job #1131249) | Cod sursa (job #206512) | Cod sursa (job #1528124) | Registru diplome | Cod sursa (job #274405)
Cod sursa(job #274405)
#include<fstream.h>
long val(long j)
{
if (j<0)
j*=-1;
return j;
}
int main()
{
ifstream fin("flip.in");
ofstream fout("flip.out");
long n,m,x[16][16];
int i,j,t;
long sneg=0,spoz=0;
fin>>n>>m;
for (i=0;i<n;i++)
{
spoz=0;
sneg=0;
for (j=0;j<m;j++)
{
fin>>x[i][j];
if (x[i][j]>0)
spoz+=x[i][j];
else
sneg+=val(x[i][j]);
}
if (sneg>spoz)
for (t=0;t<m;t++)
x[i][j]*=-1;
}
short int ok=0;
while (ok==0)
{
ok=1;
sneg=0;
spoz=0;
for (i=0;i<n;i++)
{
sneg=0;
spoz=0;
for (j=0;j<m;j++)
{
if (x[i][j]>0)
spoz+=x[i][j];
else
sneg+=val(x[i][j]);
}
if (sneg>spoz)
{
for (t=0;t<m;t++)
x[i][t]*=-1;
ok=0;
}
}
for (j=0;j<m;j++)
{
sneg=0;
spoz=0;
for (i=0;i<n;i++)
{
if (x[i][j]>0)
spoz+=x[i][j];
else
sneg+=val(x[i][j]);
}
if (sneg>spoz)
{
for (t=0;t<n;t++)
x[t][j]*=-1;
ok=0;
}
}
}
long sum=0;
for (i=0;i<n;i++)
for (j=0;j<m;j++)
sum+=x[i][j];
fout<<sum;
fin.close();
fout.close();
return 0;
}