Cod sursa(job #2085356)

Utilizator denis_vladuVladu Denis Marius denis_vladu Data 9 decembrie 2017 23:44:11
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1 kb
#include <fstream>
#include <climits>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int m,n,i,j;
long long a[20][20],x[20],Max=INT_MIN;
void flip(int k){
    int i,j;
    for(i=0;i<=1;i++){
        x[k]=i;
        if(x[k]==1){
            for(j=1;j<=n;j++)
                a[j][k]*=-1;
                }
            if(k==m){
                int st=0;
                for(int d=1;d<=n;d++){
                    int s=0;
                    for(j=1;j<=m;j++){
                        s+=a[d][j];
                    }
                    if(s<0)
                        s=-s;
                    st=st+s;
                }
                if(st>Max)
                    Max=st;
            }
            else
                flip(k+1);
            for(int j=1;j<=n;j++)
                a[j][k]*=-1;

    }
}
int main()
{
    fin>>n>>m;
    for(i=1;i<=n;i++)
        for(j=1;j<=m;j++)
            fin>>a[i][j];
    flip(1);
    fout<<Max;
    return 0;
}