Cod sursa(job #1439353)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 22 mai 2015 10:34:04
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;

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

int a[20][20];
short sol[40];
int n, m, i, j, s, sFin;
int maxim = -2147483647;

int main()
{
    f >> n >> m;
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
        {
            f >> a[i][j];
            s += a[i][j];
            a[n+1][j] += a[i][j], a[i][m+1] += a[i][j];
        }

    i = 1;
    while(!sol[1])
    {
        i = n+m, sFin = s;
        while(sol[i] == 1)
            sol[i] = 0, i--;
        sol[i]++;

        for (j = 1; j <= n+m; j++)
        if (sol[j])
        {
            if (j <= n)
                sFin -= 2*a[n+1][j];
            else if (j > n)
                sFin -= 2*a[j-n][m+1];
        }
        //g << sFin << " ";
        if (sFin > maxim)
            maxim = sFin;
    }

    g << maxim;
}