Pagini recente » Cod sursa (job #2883941) | Cod sursa (job #2394760) | Cod sursa (job #1669356) | Cod sursa (job #2204698) | Cod sursa (job #52520)
Cod sursa(job #52520)
#include <stdio.h>
#define dim 5
int a[dim][dim];
long long coloana[dim],rand[dim],suma;
int n,m;
FILE *f,*g;
//-------------------
void cit()
{
int i,j;
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,"%d",&a[i][j]);
rand[i]=rand[i]+a[i][j];
coloana[j]=coloana[j]+a[i][j];
}
}
}
//-------------------
void negativ()
{
long int min1,min2;
int i,poz1,poz2,stop=1;
while (stop==1)
{
min1=0;
for (i=0;i<n;i++)
{
if (rand[i]<min1)
{
min1=rand[i];
poz1=i;
}
}
min2=0;
for (i=0;i<m;i++)
{
if (coloana[i]<min2)
{
min2=coloana[i];
poz2=i;
}
}
if ((min1<min2)&&((min1<0)||(min2<0)))
{
rand[poz1]=rand[i]*-1;
for (i=0;i<m;i++)
{
a[poz1][i]=a[poz1][i]*-1;
coloana[i]=coloana[i]+(2*a[poz1][i]);
}
}
else if ((min2<min1)&&((min1<0)||(min2<0)))
{
coloana[poz2]=coloana[i]*-1;
for (i=0;i<n;i++)
{
a[i][poz2]=a[i][poz2]*-1;
rand[i]=rand[i]+(2*a[i][poz2]);
}
}
else
stop=0;
}
}
//-------------------
void sum()
{
int i,j;
for (i=0;i<n;i++)
{
for (j=0;j<m;j++)
{
suma=suma+a[i][j];
}
}
}
//-------------------
void tip()
{
g=fopen("flip.out","w");
fprintf(g,"%d",suma);
fclose(g);
}
//-------------------
int main()
{
cit();
negativ();
sum();
tip();
return 0;
}