Cod sursa(job #3202851)

Utilizator IoanMasterUngureanu Ioan IoanMaster Data 12 februarie 2024 13:32:04
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long i, j, N, M;
long a[20][20], maxi = 0, sol[20], v[3];
int solutie(int k)
{
    return k == N;
}
void suma()
{
    long long sl, st = 0, i, j;
    for (i = 1; i <= M; i++)
    {
        sl = 0;
        for (j = 1; j <= N; j++)
            sl += sol[j] * a[j][i];
        if (sl < 0)
            sl = -sl;
        st += sl;
    }
    // for(int i=1;i<=N;i++){for(int j=1;j<=M;j++)cout<<sol[i]*a[i][j]<<' ';cout<<endl;}
    if (st > maxi)
        maxi = st;
}

void back(int k)
{
    for (int i = 0; i <= 1; i++)
    {
        sol[k] = v[i];
        if (k == N)
        { // for(int j=1;j<=k;j++)cout<<sol[j];cout<<endl;
            suma();
        }
        else
            back(k + 1);
    }
}
int main()
{
    v[0] = -1;
    v[1] = 1;
    fin >> N >> M;
    for (i = 1; i <= N; i++)
    {
        for (j = 1; j <= M; j++)
        {
            fin >> a[i][j];
        }
    }
    back(1);
    fout << maxi;
    return 0;
}