Cod sursa(job #1108647)

Utilizator morosanucipiMorosanu Cipi morosanucipi Data 15 februarie 2014 21:51:22
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 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;
}