Cod sursa(job #91959)

Utilizator recviemAlexandru Pana recviem Data 13 octombrie 2007 23:23:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <stdio.h>
#include <stdlib.h>

using namespace std;

    short n,m;
    long v[16][16];
    short sol[16],nr[2]={1,-1} ;
    long long rez=0;

void citire()
{
    freopen("flip.in","r",stdin);
    scanf("%d%d",&n,&m);
    for (int i=0;i<n;i++)
        for (int j=0;j<m;j++)
            scanf("%ld",&v[i][j]);
}

void calc_suma()
{
    long suma=0,sum_linie;
    for (int i=0;i<n;i++)
    {
        sum_linie=0;
        for (int j=0;j<m;j++)
            sum_linie += v[i][j]*sol[j];
        suma += abs(sum_linie);
    }
    if (suma > rez) rez=suma;
}

void back(int k)
{
    if (k==m)
        calc_suma();
    else
        for (int i=0;i<2;i++)
        {
            sol[k]=nr[i];
            back(k+1);
        }
}

int main()
{
    citire();
    back(0);
    freopen("flip.out","w",stdout);
        printf("%lld",rez);
    fclose(stdout);
    return 0;
}