Cod sursa(job #2699253)

Utilizator oana_tosa15Tosa Oana-Miruna oana_tosa15 Data 23 ianuarie 2021 22:40:27
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>

using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int f[18],x[18][18],y[18][18],m,n,sol;
void solve() {
    int i,j,s1,s2;
    for(i=1;i<=n;i++) {
        if(f[i]==0)
            for(j=1;j<=m;j++)
                y[i][j]=x[i][j];
        else
            for(j=1;j<=m;j++)
                y[i][j]=-x[i][j];
    }
    s2=0;
    for(j=1;j<=m;j++) {
        s1=0;
        for(i=1;i<=n;i++)
            s1+=y[i][j];
    if(s1<0)
        s2-=s1;
    else
        s2+=s1;
    }
    sol=max(sol,s2);
}
void backt(int k) {
    if(k==n+1)
        solve();
    else {
        f[k]=0;
        backt(k+1);
        f[k]=1;
        backt(k+1);
    }
}
int main()
{
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>x[i][j];
    backt(1);
    fout<<sol;
    return 0;
}