Cod sursa(job #2756400)

Utilizator ClaudiuPopa7Popa Claudiu ClaudiuPopa7 Data 31 mai 2021 15:28:19
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");

int n, m, a[17][17], v[34], s, maxim;

void verificare() {
    int suma;
    suma = 0;
    for(int i = 1;i <= n;i++) {
        for(int j = 1;j <= m;j++) {
            if(v[i] == 0) {
                if(v[n+j] == 0)
                    suma += a[i][j];
                else
                    suma -= a[i][j];
            }
            else {
                if(v[n+j] == 0)
                    suma -= a[i][j];
                else
                    suma += a[i][j];
            }
        }
    }
    if(suma > maxim)
        maxim = suma;
}

void backtrack(int k) {
    for(int i = 0;i <= 1;i++) {
        v[k] = i;
        if(k < n+m)
            backtrack(k+1);
        else
            verificare();
    }
}

int main()
{
    fin>>n>>m;
    for(int i = 1;i <= n;i++)
        for(int j = 1;j <= m;j++)
            fin>>a[i][j];
    backtrack(1);
    fout<<maxim;
    return 0;
}