Cod sursa(job #641671)

Utilizator lilskipGrigore Alexandru lilskip Data 29 noiembrie 2011 00:49:23
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
//Autor: Grigore Alexandru
//Problema: http://infoarena.ro/problema/flip

#include <cstdio>

int tabla[16][16], nrLinii, nrColoane, st[16], sumaMaxima;

void setMax()
{int i, j, suma=0, s;
 for(i=0; i<nrColoane; i++)
   {s=0;
    for(j=0; j<nrLinii; j++)
       s=s+st[j]*tabla[j][i];
    if(s<0) suma=suma-s;   
       else suma=suma+s;
   }
   if(suma>sumaMaxima) sumaMaxima=suma;  
}


void back(int varf)
{if(varf==nrLinii)
   {setMax();
    return;
    }
    
 st[varf]=1;
 back(varf+1);
 st[varf]=-1;
 back(varf+1);
}

int main()
{   FILE *f=fopen("flip.in", "r");
    int i, j;
    fscanf(f, "%d%d", &nrLinii, &nrColoane);
    
    for(i=0; i<nrLinii; i++)
       for(j=0; j<nrColoane; j++)
         fscanf(f, "%d", &tabla[i][j]);
             
 
    back(0);
    
    FILE *g=fopen("flip.out", "w");
    fprintf(g, "%d", sumaMaxima);
    fclose(g);
    
    fclose(f);
    
    return 0;
}