Cod sursa(job #2412490)

Utilizator AdryanR8iurian adrian razvan AdryanR8 Data 22 aprilie 2019 12:13:16
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>
using namespace std;

ifstream fi("flip.in");
ofstream fo("flip.out");

int A[20][20];
int n,m;
long long sum_max;

void sum(){
    long long sum=0,s=0;
    for(int j=1;j<=m;j++){
        s=0;
        for(int i=1;i<=n;i++)
            s+=A[i][j];
        if(s<0)
            s*=-1;
        sum+=s;
    }
    sum_max=max(sum_max,sum);
}

void change(int k){
    for(int j=1;j<=m;j++)
        A[k][j]*=-1;
}

void backtracking(int k){
    if(k>n)
        sum();
    else{
        backtracking(k+1);
        change(k);
        backtracking(k+1);
    }
}

int main(){
    fi>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fi>>A[i][j];
    backtracking(1);
    fo << sum_max;
    return 0;
}