Pagini recente » Cod sursa (job #2662045) | Cod sursa (job #1023573) | Cod sursa (job #2291009) | Cod sursa (job #1074590) | Cod sursa (job #113024)
Cod sursa(job #113024)
#include<fstream.h>
long int a[100][100],sl[100],sc[100];
long int i,j,n,m,poz1,poz2,s;
ifstream f("flip.in");
ofstream g("flip.out");
void citire()
{
int i,j;
f>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
f>>a[i][j];
}
void sumal()
{
int i;
for(i=1;i<=n;i++)
sl[i]=0;
for(j=1;j<=n;j++)
for(i=1;i<=m;i++)
sl[j]+=a[j][i];
}
void sumac()
{
int i,j;
for(i=1;i<=n;i++)
sc[i]=0;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
sc[j]+=a[i][j];
}
void alege()
{
int i,min1,min2;
min1=min2=100;
sumal();
sumac();
poz1=-1;
poz2=-1;
for(i=1;i<=n;i++)
if(min1>sl[i]&&sl[i]<0)
{
min1=sl[i];
poz1=i;
}
for(i=1;i<=m;i++)
if(min2>sc[i]&&sc[i]<0)
{
min2=sc[i];
poz2=i;
}
if(min1<min2&&min1<0)
for(i=1;i<=m;i++)
a[poz1][i]=-a[poz1][i];
else
for(i=1;i<=n;i++)
a[i][poz2]=-a[i][poz2];
}
int main()
{
citire();
while(poz1!=-1&&poz2!=-1)
alege();
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
s+=a[i][j];
}
}
g<<s;
return 0;
}