Cod sursa(job #2468979)

Utilizator sims_glAlexandru Simion sims_gl Data 6 octombrie 2019 12:57:33
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include<fstream>
using namespace std;
FILE *f,*g;
int n,ma,M[20][20],m;
void flip(int j)
{
    for(int i=1;i<=n;i++)
    {
        M[i][j]*=-1;
    }
}
void check()
{
    int Sm=0;
    for(int i=1;i<=n;i++)
    {
        int s=0;
        for(int j=1;j<=m;j++)
        {
            s+=M[i][j];
        }
        if(s<0)
            Sm-=s;
        else
            Sm+=s;
        ma=max(ma,Sm);
    }
}
void bkt(int i)
{
    if(i==m+1)
        {check();return;}
    bkt(i+1);
    flip(i);
    bkt(i+1);
    flip(i);
}
int main ()
{
    f=fopen("flip.in","r");
    g=fopen("flip.out","w");
    fscanf(f,"%d%d",&n,&m);
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
            fscanf(f,"%d",&M[i][j]);
    }
    bkt(1);
    fprintf(g,"%d",ma);

}