Cod sursa(job #2639410)

Utilizator AnnieMyaAnamaria Ordace AnnieMya Data 1 august 2020 22:37:16
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
/******************************************************************************

                              Online C++ Compiler.
               Code, Compile, Run and Debug C++ program online.
Write your code in this editor and press "Run" button to compile and execute it.

*******************************************************************************/

#include <iostream>
#include <fstream>
using namespace std;

int n,m,sol[32],i,j,gasit;
long a[16][16],maxim,ss,sb;

long sum();

void back(int k)
{
    if(k>=n+m)
    {
        sb=sum();
        if(!gasit or maxim <sb)
        {
            maxim=sb;
            gasit=1;
        }
    }
    else
    {
        back(k+1);
        sol[k]=1;
        back(k+1);
        sol[k]=0;
    }
}

long sum ()
{
    ss=0;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            if(sol[i]==sol[n+j])
             ss+=a[i][j];
            else
                ss-=a[i][j];
    return ss;
}


int main()
{
    ifstream in("flip.in");
    in >>n >>m;
    for(i=0;i<n;i++)
        for(j=0;j<m;j++)
            in >>a[i][j];
    in.close();
    back(0);
    ofstream out("flip.out");
    out <<maxim;
    out.close();
    return 0;
}