Cod sursa(job #2083799)

Utilizator TeoMiliMilitaru Teodora TeoMili Data 8 decembrie 2017 09:58:13
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <fstream>

using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int S,Max,i,j,m,n,a[17][17],x[17],St;
void back(int k){
    int i,j,t;
    for(i=0;i<=1;i++){
        x[k]=i;
        if(x[k]==1){
            for(j=1;j<=n;j++)
                a[j][k]=a[j][k]*(-1);
        }
        if(k==m){
            //parcurgere linii
            St=0;
            for(j=1;j<=n;j++){
                S=0;
                for(t=1;t<=m;t++)
                    S=S+a[j][t];
                if(S<0)
                    S=S*(-1);
                St=St+S;
            }
            if(St>Max)
                Max=St;
        }
        else
            back(k+1);
         if(x[k]==1){
            for(j=1;j<=n;j++)
                a[j][k]=a[j][k]*(-1);
        }
    }
    }





int main()
{
    cin>>n>>m;
    Max=0;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            cin>>a[i][j];
    back(1);
    cout<<Max;
    return 0;
}