Cod sursa(job #2221688)

Utilizator PredaBossPreda Andrei PredaBoss Data 15 iulie 2018 15:15:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;
int matrix[20][20],n,m,ans,flip[20];
void calc()
{
    int counter=0;
    for(int i=1;i<=n;i++)
    {
        int sum=0;
        for(int j=1;j<=m;j++)
            sum+=matrix[i][j]*flip[j];
        counter+=abs(sum);
    }
    if(counter>ans)
        ans=counter;
}
void bkk(int pos)
{
    if(pos==m+1)
    {
        calc();
        return;
    }
    flip[pos]=1;
    bkk(pos+1);
    flip[pos]=-1;
    bkk(pos+1);
}
int main()
{
    freopen("flip.in","r",stdin);
    freopen("flip.out","w",stdout);
    scanf("%d %d",&n,&m);
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            scanf("%d",&matrix[i][j]);
    ans=INT_MIN;
    bkk(0);
    cout<<ans;
    return 0;
}