Cod sursa(job #131905)

Utilizator cnatlLaurian cnatl Data 4 februarie 2008 18:02:20
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include<stdio.h>
int n,m,i,j;
long int x[18][18], si[18], sj[18],S;
int main()
{   FILE *f=fopen("flip.in","r"),
         *g=fopen("flip.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++){ fscanf(f,"%ld",&x[i][j]);
                       si[i]+=x[i][j];
                       sj[j]+=x[i][j];
                       }
    //schimbarea pe i
    for(i=1;i<=n;i++)
        if(si[i]<0)
          { si[i]*=-1;
            for(j=1;j<=m;j++){  sj[j]-=x[i][j];
                                x[i][j]*=-1;
                                sj[j]+=x[i][j];
                                }
            }
    //schimbarea pe j
    for(j=1;j<=m;j++)
        if(sj[j]<0)
          { sj[j]*=-1;
            for(i=1;i<=n;i++){ si[i]-=x[i][j];
                               x[i][j]*=-1;
                               si[i]+=x[i][j];
                               }
            }

    for(i=1;i<=n;i++) S+=si[i];
    fprintf(g,"%ld\n",S);

    fcloseall();
    return 0;
}