Cod sursa(job #1211068)

Utilizator zeroblitz36FMI - Roscaneanu George zeroblitz36 Data 21 iulie 2014 22:41:39
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include<cstdio>
FILE *in,*out;
int n,m,i,j,v[16][16],flag,poz1,poz2,s,min1,min2,smax=0;
bool lin[16],col[16];
void backtrack()
{
    int s=0,i,j;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            s+=v[i][j];

    if(s>smax)smax=s;
    //linii
    for(i=0;i<n;i++)
        if(!lin[i])
        {
            for(j=0;j<m;j++)v[i][j]*=-1;
            lin[i]=true;
            backtrack();
            lin[i]=false;
            for(j=0;j<m;j++)v[i][j]*=-1;
        }
    //coloane
    for(j=0;j<n;j++)
        if(!col[i])
        {
            for(i=0;i<n;i++) v[i][j]*=-1;
            col[i]=true;
            backtrack();
            col[i]=false;
            for(i=0;i<n;i++)v[i][j]*=-1;
        }
}
int main()
{
    in=fopen("flip.in","r");
    fscanf(in,"%d %d",&n,&m);
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            fscanf(in,"%d",&v[i][j]);
    fclose(in);

    backtrack();

    out=fopen("flip.out","w");
    fprintf(out,"%d",smax);
    fclose(out);
}