Cod sursa(job #801086)

Utilizator icb_mnStf Cic icb_mn Data 23 octombrie 2012 14:17:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>

using namespace std;

#define NMAX 20

int a[NMAX][NMAX], v[NMAX], n, m, maxim = -1;

inline void parcurge_matrice()
{
    int suma = 0;
    for(int i = 0; i < n; ++i)
    {
        int s = 0;
        for(int j = 0; j < m; ++j)
            s += a[i][j] * v[j + 1];
        if(s < 0)s = -s;
        suma += s;
    }

    if(suma > maxim) maxim = suma;
}
int back(int k)
{
    if(k > m)parcurge_matrice();
    else
    {
        for(int i = -1; i <= 1; i += 2)
        {
            v[k] = i;
            back(k + 1);
        }
    }
}
int main()
{
    ifstream f("flip.in");
    ofstream g("flip.out");

    f>>n>>m;

    for(int i = 0; i < n; ++i)
        for(int j = 0; j < m; ++j)
            f>>a[i][j];

    back(1);

    g<<maxim<<'\n';

    g.close();

    return 0;
}