Cod sursa(job #2109070)

Utilizator pasoi_stefanPasoi Stefan pasoi_stefan Data 19 ianuarie 2018 08:32:31
Problema Jocul Flip Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
using namespace std;
ifstream cin("flip.in");
ofstream cout("flip.out");
int n,m,v[50],a[25][25],b[25][25],Max,s;
void bt(int k)
{
    for(v[k]=0;v[k]<2;++v[k])
    {
        if(k==n+m)
        {
            for(int i=1;i<=n;i++)
                for(int j=1;j<=m;j++)
                    b[i][j]=a[i][j];
            for(int i=1;i<=n;i++)
                if(v[i])
                for(int j=1;j<=m;j++) b[i][j]=-b[i][j];
            for(int i=n+1;i<=n+m;i++)
                if(v[i])
                for(int j=1;j<=n;j++) b[j][i-n]=-b[j][i-n];
            s=0;
             for(int i=1;i<=n;i++)
                for(int j=1;j<=m;j++)
                    s+=b[i][j];
            if(Max<s) Max=s;
        }
        else bt(k+1);
    }
}
int main()
{
    cin>>n>>m;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            cin>>a[i][j];
    bt(1);
    cout<<Max;
}