Cod sursa(job #2446160)

Utilizator Vaida_Radu_AndreiVaida Radu Andrei Vaida_Radu_Andrei Data 7 august 2019 13:01:26
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <cstdio>
#include <algorithm>
#include <climits>

using namespace std;

int n[2],ar[17][17],change[17][2],sum=INT_MIN;

void cit()
{
    int i,j;
    for(i=0;i<2;++i)
        scanf("%d",&n[i]);
    for(i=0;i<n[0];++i)
        for(j=0;j<n[1];++j)
            scanf("%d",&ar[i][j]);
}

void test()
{
    int i,j,sol,semn;
    for(sol=0,i=0;i<n[0];++i)
        for(j=0;j<n[1];++j)
        {
            semn=change[i][0]+change[j][1];
            if(semn&1)
                sol-=ar[i][j];
            else
                sol+=ar[i][j];
        }
    sum=max(sum,sol);
}
void backt(int l,int p)
{
    if(l==n[p])
        if(p&1)
            test();
        else
            backt(0,1);
    else
    {
        int i;
        for(i=l;i<n[p];++i)
        {
            change[i][p]=1;
            backt(i+1,p);
            change[i][p]=0;
        }
    }
}

int main()
{
    freopen("filip.in","r",stdin);
    freopen("filip.out","w",stdout);
    cit();
    backt(0,0);
    printf("%d",sum);
    return 0;
}