Cod sursa(job #955089)

Utilizator Dddarius95Darius-Florentin Neatu Dddarius95 Data 30 mai 2013 20:42:38
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <string.h>
#include <algorithm>

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");

#define Dmax 17
#define Minim -256000001
int n,m,a[Dmax][Dmax],k,move[2*Dmax],st[2*Dmax];
long long S;
char viz[2*Dmax];

void init()
{
    f>>n>>m;
    for(short i=1;i<=n;i++)
        for(short j=1;j<=m;j++) f>>a[i][j];
    k=n+m;
    memset(viz,0,k);
}

void solve(int st[2*Dmax])
{
    long long s=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++) s+=a[i][j]*st[i]*st[n+j];
    S=max(S,s);

}

void back(int varf)
{
    if(varf!=k+1)
    {
         st[varf]=-1; back(varf+1);
         st[varf]=1;  back(varf+1);
    }
    else
    {
        //for(short i=1;i<=k;i++) g<<st[i]<<" ";
        //g<<'\n';
        solve(st);
    }
}

int main()
{
    init();
    S=Minim;
    back(1);
    g<<S<<'\n';
    f.close();g.close();
    return 0;
}