Cod sursa(job #3039806)

Utilizator radu._.21Radu Pelea radu._.21 Data 28 martie 2023 21:21:24
Problema Jocul Flip Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <fstream>

using namespace std;
int n,m,a[101][101],schimb[101],schimb2[101],f[101],max0=-1000000000;
ifstream fin("flip.in");
ofstream fout("flip.out");
void verificare(){
    for(int i=1;i<=n;i++)
        if(f[i]==1)
            schimb[i]=1;
        else
            schimb[i]=0;
    for(int j=n+1;j<=n+m;j++)
        if(f[j]==1)
            schimb2[j-n]=1;
        else
            schimb2[j-n]=0;
    int suma=0;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++){
        int ok=schimb[i]+schimb2[j];
        if(ok%2==0)
            suma+=a[i][j];
        else
            suma-=a[i][j];
    }
    max0=max(max0,suma);
}
void back(int poz){
    if(poz==n+m+1)
        verificare();
    else
    for(int i=0;i<=1;i++){
        f[poz]=i;
        back(poz+1);
    }

}
int main(){
    fin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            fin>>a[i][j];
    back(1);
    fout<<max0;

    return 0;
}