Pagini recente » Cod sursa (job #2061264) | Cod sursa (job #1355421) | Cod sursa (job #1523577) | Cod sursa (job #1851057) | Cod sursa (job #785740)
Cod sursa(job #785740)
#include <stdio.h>
FILE* f=fopen("flip.in","r");
FILE* g=fopen("flip.out","w");
long v[21],x,r[21],r2[21],n2,n,i,j,nr,ok,v2[21],m[21][21],sav1,sav2,maxc,maxl,s;
int main()
{
fscanf(f,"%ld%ld",&n,&n2);
for (i=1;i<=n;i++)
{
for (j=1;j<=n2;j++)
{
fscanf(f,"%ld",&m[i][j]);
v[i]=v[i]+m[i][j];
}
}
ok=1;
for (i=1;i<=n2;i++)
for (j=1;j<=n;j++)
v2[i]=v2[i]+m[j][i];
while (ok==1)
{
ok=0;
for (i=1;i<=n;i++)
if (v[i]<0 && r[i]==0)
{
r[i]=1;
ok=1;
v[i]=v[i]*-1;
for(j=1;j<=n2;j++)
{
v2[j]=v2[j]-m[i][j]+m[i][j]*-1;
m[i][j]=m[i][j]*-1;
}
}
for (i=1;i<=n2;i++)
if (v2[i]<0 && r2[i]==0)
{
r2[i]=1;
ok=1;
v2[i]=v2[i]*-1;
for (j=1;j<=n;j++)
{
v[j]=v[j]-m[j][i]+m[j][i]*-1;
m[j][i]=m[j][i]*-1;
}
}
// nr++;
// if (nr>100)
// break;
}
for (i=1;i<=n;i++)
s=s+v[i];
fprintf(g,"%ld\n",s);
fclose(f);
return 0;
}