Cod sursa(job #2058189)

Utilizator PetcuDavidPetcu David PetcuDavid Data 5 noiembrie 2017 11:39:49
Problema Jocul Flip Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <iostream>
#include <fstream>
using namespace std;

int N,M,a[16][16],maxim=0;

void Max(int v[]){
int S=0;
for(int j=1;j<=M;j++){
int s=0;
for(int i=1;i<=N;i++)
s=s+a[i][j]*v[i];
if(s<0) S=S-s;
else S=S+s;}
if(S>maxim) maxim=S;
}

void backtrack(int i,int v[], int k){
v[i]=k;
if(i<N)
{backtrack(i+1, v, 1); backtrack(i+1, v, -1);}
else Max(v);
}

int main(){
ifstream f("flip.in"); ofstream g("flip.out");
f>>N>>M;
for(int i=1;i<=N;i++)
for(int j=1;j<=M;j++)
f>>a[i][j];
int v[17];
backtrack(0,v,1);
g<<maxim;
return false;}