Cod sursa(job #2810797)

Utilizator alexxxxxxhalex alx alexxxxxxh Data 30 noiembrie 2021 11:47:42
Problema Jocul Flip Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int v[20][20];
int r[20],c[20];
int calc(int x,int y,int n,int m)
{
    int s=0;
    for (int i=0; i<n; i++)
    {
        if ((x>>i)&1==1) r[i+1]=-1;
        else r[i+1]=1;

    }
    for (int j=0; j<m; j++)
    {

        if ((y>>j)&1==1) c[j+1]=-1;
        else c[j+1]=1;
    }

    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {

            s+=r[i]*c[j]*v[i][j];
        }


    }

    return s;
}
int main()
{
    int n,m;
    fin >>n>>m;
    for (int i=1; i<=n; i++)
    {
        for (int j=1; j<=m; j++)
        {
            fin >>v[i][j];
            v[i][0]+=v[i][j];
            v[0][j]+=v[i][j];
        }
    }
    int k1=1<<n;
    int k2=1<<m;
    int maxx=0;
    for (int i=0; i<=k1/2; i++)
    {
        for (int j=0; j<=k2/2; j++)
        {
            int s=calc(i,j,n,m);

            if (s>maxx) maxx=s;
        }
    }
    fout << maxx;
}