Pagini recente » Cod sursa (job #2136012) | Cod sursa (job #2272961) | Cod sursa (job #2623984) | Cod sursa (job #2615289) | Cod sursa (job #418120)
Cod sursa(job #418120)
#include<stdio.h>
int n,m;
FILE *in=fopen("flip.in","r"), *out=fopen("flip.out","w");
long k[16][16];
void citire()
{
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
fscanf(in,"%ld",&k[i][j]);
}
void coloana(int x, int y)
{
int i,j,sp,sn,l;
for(i=1;i<=y;i++)
{
sp=sn=0;
for(j=1;j<=x;j++)
{
if(k[j][i]>0) sp=sp+k[j][i];
else sn=sn+k[j][i];
}
if(-sn>sp)
{
for(l=1;l<=x;l++) k[l][i]=-k[l][i];
}
}
}
void linie(int x, int y)
{
int i,j,sp,sn,l;
for(i=1;i<=y;i++)
{
sp=sn=0;
for(j=1;j<=y;j++)
{
if(k[i][j]>0) sp=sp+k[i][j];
else sn=sn+k[i][j];
}
if(-sn>sp)
{
for(l=1;l<=x;l++) k[i][l]=-k[i][l];
}
}
}
int main()
{
int i,j;
long s=0;
fscanf(in,"%d",&n);
fscanf(in,"%d",&m);
citire();
linie(n,m);
coloana(n,m);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
s=s+k[i][j];
}
}
fprintf(out,"%ld",s);
fclose(out);
return 0;
}