Cod sursa(job #1263980)

Utilizator cociorbaandreiAndrei Cociorba cociorbaandrei Data 15 noiembrie 2014 13:50:54
Problema Jocul Flip Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.09 kb
#include <iostream>
#include <algorithm>
#include "stdio.h"
#include "string.h"
using namespace std;
int N, M;
int matrix[16][16], smax = -1000000000;
 
void aplicaConfiguratia(int* v)
{
	int sum[16], s = 0;
    memset(sum, 0, sizeof(sum));
    for(int i = 0; i < N;i++)
       for(int j = 0; j < M;j++)
            if(v[j])
                sum[i] += -matrix[i][j];
            else
                sum[i] += matrix[i][j];
 
    for(int i = 0; i < N;i++)
        if(sum[i] < 0)
            s -= sum[i];
        else
            s += sum[i];
 
    smax = max(smax, s);
}
void back(int* v, int p, int n)
{
    if(p == n){
       aplicaConfiguratia(v);
    }else{
        for(int i = 0; i < 2;i++){
            v[p] = i;
            back(v,p+1,n);
        }
    }
}
int main() {
    freopen("flip.in","r",stdin);
    /reopen("flip.out","w",stdout);
    scanf("%d%d",&N,&M);
    for(int i = 0; i < N;i++){
        for(int j = 0; j < M;j++)
            scanf("%d",&matrix[i][j]);
    }
     
    int asd[50];
 
    back(asd,0,M+N + 1);
    printf("%d",smax);
    return 0;
}