Cod sursa(job #938913)

Utilizator kassay_akosKassay Akos kassay_akos Data 14 aprilie 2013 13:34:17
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std ;
 
int v[17][17];
int n, m;
 
void citire(){
    freopen("flip.in","r",stdin);
    cin >> n >> m ;
    for (int i = 0 ; i < n ; i++)
        for (int j = 0 ; j < m ; j++)
            cin >> v[i][j] ;
}
 
int main(){
     
    int max = -5000, sum, s, sfarsit, lini[17] , k ;   
    citire();
 
    sfarsit = pow(2,n) ;
	int  i,j;
    for (int l= 0; l <= sfarsit ; l++){      
        k = l ;
        for (j = 0 ; j < n ; j++) {
            lini[j] = k % 2 == 0 ? 1 : -1 ;
            k = k / 2 ;
        }
        sum = 0 ;
        for (i = 0 ; i < n ; i++){
            s = 0 ;
            for ( j = 0 ; j < m ; j++)
                s+= v[i][j]*lini[j];
            if (s < 0) {sum -=s ;}
            else {sum +=s;}
        }
        if (max < sum) max = sum ;
    }
    freopen("flip.out","w",stdout);
    cout << max ;
    return 0  ;
}