Cod sursa(job #304584)

Utilizator warchildmdMihail Burduja warchildmd Data 14 aprilie 2009 11:45:26
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>

int N,M;
long int tabla[17][17], max=-19999;

void sum()
{
    int i,j, suma=0;
    for(i=0;i<N;i++)
    for(j=0;j<M;j++)
    suma=suma+tabla[i][j];
    if(max<suma)
    max=suma;
}

void comuta_col(int i)
{
     int j;
     for(j=0;j<N;j++)
     tabla[j][i]=(-1)*tabla[j][i];
}

void comuta_lin(int i)
{
     int j;
     for(j=0;j<N;j++)
     tabla[i][j]=(-1)*tabla[i][j];
}

void back(int i)
{
    if(i<M)
    {
        comuta_col(i);
        sum();
        back(i+1);
    }
    if(i<N)
    {
        comuta_lin(i);
        sum();
        back(i+1);
    }
}


int main()
{
    long int suma,i,j;
    FILE *ie,*in;
    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,"%ld",&tabla[i][j]);
    fclose(in);
    back(0);
    ie=fopen("flip.out","w");
    fprintf(ie,"%ld",max);
    fclose(ie);
}