Cod sursa(job #1481334)

Utilizator superstar1998Moldoveanu Vlad superstar1998 Data 4 septembrie 2015 10:51:55
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>
#include <climits>
using namespace std;
int n,m,a[17][17],smax=-INT_MAX,l[17],c[17];
void Citeste()
{
    ifstream f("flip.in");
    f>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            f>>a[i][j];
    f.close();
}
int GetMax()
{
    int s=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            s+=a[i][j]*l[i]*c[j];
    return s;
}
void Scrie()
{
    ofstream g("flip.out");
    g<<smax;
    g.close();
}
void BackC(int k)
{
    for(int i=-1;i<=1;i+=2)
    {
        c[k]=i;
        if(k<m) BackC(k+1);
        else smax=max(smax,GetMax());
    }
}
void BackL(int k)
{
    for(int i=-1;i<=1;i+=2)
    {
        l[k]=i;
        if(k<n) BackL(k+1);
        else BackC(1);
    }
}
int main()
{
    Citeste();
    BackL(1);
    Scrie();
    return 0;
}