Cod sursa(job #1738757)

Utilizator rares00Foica Rares rares00 Data 7 august 2016 17:10:03
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("flip.in");
ofstream out("flip.out");
int n,m,mat[18][18];
int sol[35];
int sMax;

void act_sMax()
{
    int s=0;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
        {
            if(sol[i] != sol[n+j])
                s += mat[i][j] * (-1);
            else
                s += mat[i][j];
        }
    if(s > sMax)
        sMax = s;
}
void citeste()
{
    in>>n>>m;
    for(int i=1;i<=n;++i)
        for(int j=1;j<=m;++j)
            in>>mat[i][j];
}
int init(int k)
{
    sol[k] = 0;
}
int succesor(int k)
{
    if(sol[k] < 2)
    {
        ++sol[k];
        return 1;
    }
    return 0;
}
int valid(int k)
{
    return 1;
}
int solutie(int k)
{
    if(k == n+m)
        return 1;
    return 0;
}
int bkt(int k)
{
    init(k);
    while(succesor(k))
    {
        if(valid(k))
        {
            if(solutie(k))
                act_sMax();
            else
                bkt(k+1);
        }
    }
}
int main()
{
    citeste();
    bkt(1);
    //afiseaza
    out<<sMax<<"\n";
    return 0;
}