Cod sursa(job #854493)

Utilizator whoiscrisCristian Plop whoiscris Data 13 ianuarie 2013 17:45:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <iostream>
#include <fstream>
#define NMAX 17
#define MMAX 17

using namespace std;

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

int i,j,n,m;
int tabla[NMAX][MMAX];
int nr_subm,idx;
int col[MMAX];
int sum,sumLin,sumMax;
int a,b;

void afis(int n,int m){
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++)
            cout<<tabla[i][j]<<" ";
        cout<<"\n";
    }
}
void citeste(){

    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>tabla[i][j];
}

int main()
{
    citeste();
    nr_subm = 1<<m;

    for(idx = 1; idx <= nr_subm; idx++){

        for(j = 1;j <= m; j++)
            if(idx & (1<<(j-1)))
                col[j] = -1;
            else
                col[j] = 1;
            sum = 0;
        for(a = 1;a<=n;a++){
            sumLin = 0;
        for(b = 1;b<=m;b++)
            sumLin += tabla[a][b]*col[b];
        if(sumLin < 0)
            sumLin = -sumLin;
        sum += sumLin;
        }
        if( sum > sumMax)
            sumMax = sum;
    }
    fout<<sumMax;

    return 0;
}