Pagini recente » Cod sursa (job #734416) | Cod sursa (job #165271) | Cod sursa (job #1805155) | Cod sursa (job #2385843) | Cod sursa (job #602123)
Cod sursa(job #602123)
#include<stdio.h>
#include<stdlib.h>
int main()
{FILE* f,*g;
f=fopen("flip.in","rt");
g=fopen("flip.out","wt");
int lin,col;
fscanf(f,"%i",&lin);
fscanf(f,"%i",&col);
int i,j,k,p,q;
long long v[16][16];
for(i=0;i<lin;i++)
for(j=0;j<col;j++)
fscanf(f,"%lld",&v[i][j]);
long long suma=0,sl[lin],sc[col];
for(i=0;i<lin;i++)
{sl[i]=0;
for(j=0;j<col;j++)
sl[i]=sl[i]+v[i][j];
}
for(j=0;j<col;j++)
{sc[j]=0;
for(i=0;i<lin;i++)
sc[j]=sc[j]+v[i][j];
}
for(i=0;i<lin;i++)
for(j=0;j<col;j++)
{if(sl[i] >= 0 && sc[j] >= 0)
continue;
if(sl[i] >= 0 && sc[j] < 0)
if(sl[i]+sc[j] > sl[i]-2*v[i][j]-sc[j])
continue;
else
for(k=0;k<lin;k++)
{sl[k]=sl[k]-2*v[k][j];
sc[j]=-sc[j];
}
if(sl[i] < 0 && sc[j] >= 0)
if(sl[i]+sc[j] > sc[j]-2*v[i][j]-sl[i])
continue;
else
for(k=0;k<col;k++)
{sc[k]=sc[k]-2*v[i][k];
sl[i]=-sl[i];
}
if(sl[i] < 0 && sc[j] < 0)
{if(sl[i]-2*v[i][j]-sc[j] > sc[j]-2*v[i][j]-sl[i] && sl[i]-2*v[i][j]-sc[j] > -sl[i]-sc[j] )
for(k=0;k<lin;k++)
{sl[k]=sl[k]-2*v[k][j];
sc[j]=-sc[j];
}
if(sl[i]-2*v[i][j]-sc[j] > sc[j]-2*v[i][j]-sl[i] && sl[i]-2*v[i][j]-sc[j] < -sl[i]-sc[j] )
{sl[i]=-sl[i];
sc[j]=-sc[j];
for(p=0;p<lin;p++)
if(p!=i)
sl[p]=sl[p]-2*v[p][j];
for(q=0;q<col;q++)
if(q!=j)
sc[q]=sc[q]-2*v[i][q];
}
if(sl[i]-2*v[i][j]-sc[j] < sc[j]-2*v[i][j]-sl[i] && sc[j]-2*v[i][j]-sl[i] > -sl[i]-sc[j] )
for(k=0;k<col;k++)
{sc[k]=sc[k]-2*v[i][k];
sl[i]=-sl[i];
}
}
}
for(i=0;i<lin;i++)
suma=suma+sl[i];
fprintf(g,"%lld",suma);
fclose(f);
fclose(g);
return 0;
}