Cod sursa(job #913092)

Utilizator MarCelDragMacel Dragan MarCelDrag Data 13 martie 2013 09:17:01
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.29 kb
#include <fstream>
#include <iostream>
#include <cmath>

using namespace std;
int n,m,v[17][17];
int main()
{
    ifstream in("flip.in");
    ofstream out("flip.out");
    in >> n >> m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            in >> v[i][j];
    int s=0,sMax=0,sc[17],sl[17],kMax=pow(2,n);
    for(int k=0;k<kMax;k++)
    {
        if(sMax<s)
            sMax=s;
        int kAux=k;
        for(int i=1;i<=n;i++)
        {
            sl[i]=kAux%2;
            if(sl[i]==0)
                sl[i]=-1;
            kAux=kAux/2;
        }
        s=0;
        for(int i=1;i<=m;i++)
        {
            int s1=0,s2=0;
            for(int j=1;j<=n;j++)
            {
                s1=s1+v[j][i]*sl[j]*sl[i];
                s2=s2-v[j][i]*sl[j]*sl[i];
            }
            if(s1<s2)
            {
                s=s+s2;
                sc[i]=-1;
            }
            else
            {
                s=s+s1;
                sc[i]=1;
            }
        }
        int stop=1;
    }

    out << sMax << endl;
/*
    cout << s << ' ' << sAux << endl;
    for(int i=1;i<=n;i++)
    {
        cout << sl[i] << ' ';
    }
    cout << endl;
    for(int i=1;i<=m;i++)
    {
        cout << sc[i] << ' ';
    }
*/
    return 0;
}