Cod sursa(job #1792095)

Utilizator birotxNedelcescu Radu Costin birotx Data 30 octombrie 2016 00:21:20
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream f("flip.in");
ofstream g("flip.out");
int x[17][17],smax, stop=0;
int n,m;
int getsum()
{
    int sa=0;
    for(int i=1;i<=m;i++)
    {
         for(int j=1;j<=n;j++)
        {
            sa = sa + x[i][j]*x[0][j]*x[i][0];
        }
    }
    return sa;
}
int init()
{
    for(int a=m;a>=1;a--)
    x[a][0]=1;

    for(int a=1;a<=n;a++)
    x[0][a]=1;
}
int nextp(){
    int lcontinue = 1;

    for(int a=n;a>=1;a--)
    {
        if(x[0][a]==1)
        {
            x[0][a]=-1;
            lcontinue=0;
            a=0;
        }
        else
        {
            x[0][a]=1;

        }
    }
    if(lcontinue)
    {
        for(int a=1;a<=m;a++)
        {
            if(x[a][0]==1)
            {
                x[a][0]=-1;
                lcontinue=0;

                a=m+1;
            }
            else
            {
                x[a][0]=1;
            }
        }

        stop=lcontinue;
    }
}
int main()
{

    f>>m>>n;

    init();
    for(int i=1;i<=m;i++)
    {
         for(int j=1;j<=n;j++)
        {
            f>>x[i][j];
        }
    }

    while(!stop)
    {
        nextp();
        int sact=getsum();
        if(smax<sact)
            smax=sact;
    }

    cout<<smax;
}