Cod sursa(job #1733656)

Utilizator danutbodbodnariuc danut danutbod Data 25 iulie 2016 11:24:48
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
//idee
//fac bk pe linii (-1 sau 1)
// si coloanele le iau pozitive(in modul-nu mai are rost bk pe coloane)
#include<fstream>
using namespace std;
int i,j,n,m,sum,a[20][20],x[20];
ifstream f("flip.in");
ofstream g("flip.out");
int suma()
{
    int i,j,s,s1=0;
    for(j=1;j<=m;j++)
    {
        s=0;
        for(i=1;i<=n;i++)
            s+=(a[i][j]*x[i]);
        if(s<0) s=s*-1;//inmultesc coloana cu -1
        s1+=s;         //se  iau sumele pozitive!!!!!!
    }
    return s1;

}
void backtr(int k)//genereaza pe coloane -1 sau 1
{ int i,ss;
    if(k==n+1)
        {ss=suma();if(sum<ss) sum=ss;}
    else
        for(i=-1;i<=1;i+=2)
        {
            x[k]=i;
            backtr(k+1);
        }
}
int main()
{


    f>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            f>>a[i][j];
        backtr(1);
        g<<sum;
        return 0;
}