Cod sursa(job #1384987)

Utilizator robx12lnLinca Robert robx12ln Data 11 martie 2015 16:39:54
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.9 kb
#include<fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
long long sum,n,m,i,j,a[20][20],f[20],maxim,s1,s2;
long long suma(){
    sum=0;
    for(i=1;i<=n;i++){
        s1=0;
        for(j=1;j<=m;j++){
            if(f[j]==1){
                s1+=(-a[i][j]);
            }else{
                s1+=a[i][j];
            }

        }
        if(s1>0)
            sum+=s1;
        else
            sum-=s1;

    }
    return sum;
}
void bk(){
    while(f[0]!=1){
        i=m;
        while(f[i]==1){
            f[i]=0;
            i--;
        }
        f[i]=1;
        if(maxim<suma()){
            maxim=suma();
        }
    }
    return ;
}
int main(){
    fin>>n>>m;
    for(i=1;i<=n;i++){
        for(j=1;j<=m;j++){
            fin>>a[i][j];
            maxim+=a[i][j];
        }
    }
    bk();
    fout<<maxim<<"\n";
    return 0;
}