Pagini recente » Cod sursa (job #2423907) | Cod sursa (job #438504) | Monitorul de evaluare | Cod sursa (job #2747102) | Cod sursa (job #1717306)
#include<stdio.h>
int main ()
{
FILE *f;
int n,m,i,j,ok=1;
long A[16][16],suma1,suma2,sum1,sum2,sum,B[16][16],C[16][16];
f=fopen("flip.in","r");
fscanf(f,"%d",&n);
fscanf(f,"%d",&m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
fscanf(f,"%ld",&A[i][j]);
fclose(f);
while(ok!=0)
{
ok=0;
sum1=0;
for(i=0;i<n;i++)
{
suma1=0;
suma2=0;
for(j=0;j<m;j++)
{
suma1+=A[i][j];
suma2-=A[i][j];
}
if(suma2>suma1)
{
for(j=0;j<m;j++)
B[i][j]=-A[i][j];
sum1+=suma2;
ok=1;
}
else
{
for(j=0;j<m;j++)
B[i][j]=A[i][j];
sum1+=suma1;
}
}
sum2=0;
for(i=0;i<m;i++)
{
suma1=0;
suma2=0;
for(j=0;j<n;j++)
{
suma1+=A[j][i];
suma2-=A[j][i];
}
if(suma2>suma1)
{
for(j=0;j<n;j++)
C[j][i]=-A[j][i];
sum2+=suma2;
ok=1;
}
else
{
for(j=0;j<n;j++)
C[j][i]=A[j][i];
sum2+=suma1;
}
}
if(sum1>sum2)
for(i=0;i<n;i++)
for(j=0;j<m;j++)
A[i][j]=B[i][j];
else
for(i=0;i<n;i++)
for(j=0;j<m;j++)
A[i][j]=C[i][j];
}
for(i=0;i<n;i++)
for(j=0;j<m;j++)
sum+=A[i][j];
f=fopen("flip.out","w");
fprintf(f,"%ld",sum);
fclose(f);
return 0;
}