Cod sursa(job #761921)

Utilizator TheNechizFMI Razvan Birisan TheNechiz Data 27 iunie 2012 20:56:55
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
# include <fstream>

using namespace std;

int main(){

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

    int n,m,sm,s1,s[16],mat[16][16],log[16]={0},i,j,z,h;

    in>>n>>m;

    for(i = 0 ; i < n ; ++i )
        for( j = 0 ; j < m ; ++j)
            in>>mat[i][j];

    sm = -1 ;
    z = -1;
    h = 0;

    while( 1 ){
        ++z;
        while( log[z] == 1 ) log[z] = 0 , ++z;
        if( z == n ) break;
        log[z]=1;
        for( j = 0 ; j < m ; ++j ) mat[j][z] *= -1 , s[j] = 0;
        for( i = 0 ; i < m ; ++i )
            for( j = 0 ; j < n ; ++j )
                s[i] += mat[j][i];
        s1 = 0;
        for( j = 0 ; j < m ; ++j ) if( s[j] > 0 ) s1 += s[j]; else s1 -= s[j];
        for( j = 0 ; j < m ; ++j ) mat[z][j] *= -1;
        if(s1 > sm) sm = s1;
    }

    out<<sm;

    in.close();
    out.close();
    return 0;
}