Cod sursa(job #1108634)

Utilizator morosanucipiMorosanu Cipi morosanucipi Data 15 februarie 2014 21:43:32
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("flip.in");
ofstream g("flip.out");
int n, m, x,a[20][20], v[50], b;
void comutare()
{
    int i, j;
    for (i = 1; i <= n;i++)
        if (v[i]==1)
    for (j = 1; j <= m; j++)a[i][j] = -a[i][j];
        for (i = n + 1; i <= n + m;i++)
            if (v[i]==1)
                for (j = 1; j <= n; j++)
                    a[j][i - n] = -a[j][i - n];
}
void calcul(int k)
{
    int l = 0, i, j;
    comutare();
    for (i = 1; i <= n; i++)
        for (j = 1; j <= m; j++)
        l = l + a[i][j];
    comutare();
    if (l > x)
        x = l;

}
void Back(int k)
{
    for (int i =0; i <=1; i++)
    {
        v[k] = i;
        if (k == m+n)calcul(k);
        else Back(k + 1);
    }
}
int main()
{
    int i, j;
    f >> n >> m;
    for (i = 1; i <= n;i++)
        for (j = 1; j <= m; j++)
            f >> a[i][j];
            Back(1);
        g << x;
    return 0;
}