Cod sursa(job #2419916)

Utilizator Rufus007Marincia Catalin Rufus007 Data 9 mai 2019 20:11:13
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int n,m,a[17][17];
long long maxim=-1000000;
int takec[17];

long long calculez(){

    long long sum=0;
    for(int i=0;i<n;++i)
    {
        long long s=0;
        for(int j=0;j<m;++j)//takec detine semnul comutatorului coloanelor
            s+=(a[i][j]*takec[j]);
        sum+=abs(s);
    }
    return sum;//sum detine suma tutoror elementelor
}
void bktrc(int x){
    if(x==m)
    {
        if(calculez()>maxim)
            maxim=calculez();
    }else{

        takec[x]=1;
        bktrc(x+1);
        takec[x]=-1;
        bktrc(x+1);
    }
}
int main() {
    fin>>n>>m;
for(int i=0;i<n;++i)
    for(int j=0;j<m;++j)
        fin>>a[i][j];
    fin.close();
    bktrc(0);
    fout<<maxim;
    fout.close();
    return 0;
}