Cod sursa(job #853954)

Utilizator yamahaFMI Maria Stoica yamaha Data 12 ianuarie 2013 16:37:52
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>
#include<iostream>
using namespace std;

int N, M, v[20][20], comuta[20], maxim;
//comuta contine -1 si/sau 1
 
void back(int k){
    int i, j, sum, temp;
    if(k-1 == M){
        temp = 0;
        for(i = 1; i <= N; i++){
            sum = 0;
            for(j = 1; j <= M; j++) sum += v[i][j] * comuta[j];
            if(sum < 0) temp -= sum;
            else temp += sum;
            maxim = maxim < temp ? temp : maxim;
        }
    }else{
        comuta[k]=-1;
        back(k+1);
        comuta[k]=1;
        back(k+1);
    }
}//end of back


int main(){
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    
    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;
}