Cod sursa(job #2475250)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 16 octombrie 2019 16:57:17
Problema Jocul Flip Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int n, m, maxi = -1000005;
int a[17][17];

int sum(){
    int s = 0;
    for(int i=0;i<n;i++)
        for(int j=0;j<m;j++)
            s+=a[i][j];
    return s;
}

void mult_i(int i){
    for(int j=0;j<m;j++)
        a[i][j]*=-1;
}

void mult_j(int j){
    for(int i=0;i<n;i++)
        a[i][j]*=-1;
}

void back(int i, int j){
    if(i==m){
        int s = sum();
        if(s>maxi) maxi = s;
        return;
    }
    if(j==m){
        back(i+1, 0);
        mult_i(i);
        back(i+1, 0);
        mult_i(i);
        return;
    }
    back(i, j+1);
    mult_j(j);
    back(i, j+1);
    mult_j(j);
}

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