Cod sursa(job #1757167)

Utilizator Rocamadour1497Alexandru Martiniuc Rocamadour1497 Data 14 septembrie 2016 17:16:39
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
#define max(a,b) ((a) > (b) ? (a) : (b))
ifstream f("flip.in");
ofstream g("flip.out");
int n,m,i,j,smax=-2e9,s,a[17][17],b[17];
void solve(int k)
{
    if(k<=m)
    {
        b[k]=1;
        solve(k+1);
        b[k]=-1;
        solve(k+1);
    }
    else
    {
        s=0;
        for(i=1;i<=n;i++)
        {
            int sc=0;
            for(j=1;j<=m;j++)
                sc+=a[i][j]*b[j];
            s+=max(sc,-sc);
        }
       smax=max(s,smax);
       return;

    }
}

int main()
{
    f>>n>>m;
    int p=2e9;
    for(i=1;i<=n;i++)
    for(j=1;j<=m;j++)
    f>>a[i][j];
    solve(1);
    g<<smax;
    return 0;
}