Cod sursa(job #1828266)

Utilizator leraValeria lera Data 12 decembrie 2016 23:19:18
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[18][18];
int pus[18];
long long smax,sumatot,sumalinie;
void bk(int in)
{
    for(int j=in+1;j<=m;j++)
    {
        pus[j]=1;
        if(j<=m)
            {
                sumatot=0;
                for(int linie=1;linie<=n;linie++)
                {
                    sumalinie=0;
                    for(int col=1;col<=m;col++)
                        if(pus[col]==0)sumalinie+=a[linie][col];
                    else sumalinie-=a[linie][col];
                    if(sumalinie<0)sumalinie*=(-1);
                    sumatot+=sumalinie;
                }
                if(sumatot>smax)smax=sumatot;
                bk(j);
            }
        pus[j]=0;
    }
}
int main()
{
    int i,j;
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>a[i][j];
    bk(0);
    fout<<smax;
    return 0;
}