Cod sursa(job #2304629)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 18 decembrie 2018 12:43:58
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <bits/stdc++.h>

using namespace std;

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

int v[18][18];
int a[18];
int b[18];
int n,m,maxim = 0;

void back2(int k);

void back(int k){
    int i;
    for(i = 0; i < 2; i++){
        a[k] = i;
        if(k < n){
            back(k+1);
        }else{
            back2(1);
        }
    }
}

void back2(int k){
    int i;
    for(i = 0; i < 2; i++){
        b[k] = i;
        if(k < n){
            back2(k+1);
        }else{
            int l,p;
            long s = 0;
            for(l = 1; l <= n; l++){
                for(p = 1; p <= m; p++){
                    if(a[l] != b[p]){
                        s -= v[l][p];
                    }else{
                        s += v[l][p];
                    }
                }
            }
            if(maxim < s){
                maxim = s;
            }
        }
    }
}

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