Cod sursa(job #2764156)

Utilizator costy04Milea Costin costy04 Data 19 iulie 2021 17:44:38
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <iostream>
#include <fstream>
using namespace std;

int maxim = -32000;

int calc_maxim (int A[20][20], int N, int M, int v[20])
{
    int suma = 0, s = 0;
    for (int i = 0; i < M; i++)
    {
        s = 0;
        for (int j = 0; j < N; j++)
            s = s + A[j][i]*v[j];
        suma = suma + abs(s);
    }
    return suma;
}

void backtracking (int x, int A[20][20], int N, int M, int v[20])
{
    if (x == N)
    {
        if (calc_maxim(A,N,M,v) > maxim)
            maxim = calc_maxim(A,N,M,v);
    }
    else
    {
        v[x] = 1;
        backtracking(x+1,A,N,M,v);
        v[x] = -1;
        backtracking(x+1,A,N,M,v);
    }
}

int main ()
{
    int M, N;
    int sum_col = 0, sum_row = 0, sum = 0;
    int A[20][20];
    int v[20];
    ifstream ifile ("flip.in");
    ofstream ofile ("flip.out");

    ifile >> N;
    ifile >> M;

    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++)
            ifile >> A[i][j];

    backtracking(0,A,N,M,v);
    ofile << maxim;
        

}