Cod sursa(job #996441)

Utilizator sebinechitasebi nechita sebinechita Data 11 septembrie 2013 21:41:35
Problema Jocul Flip Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include <iostream>
#include <fstream>
#include <cstring>
#include <string>
#include <climits>
#include <algorithm>
#include <cmath>
using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");
#define baza 1
#define MAX 2000004
#define MOD 9973
typedef long long int lli;



lli a[17][17],i,n,m,x[17],y[17],j,k,l,s,maxim;

int main()
{
    fin>>n;
    fin>>m;
    for(i=1;i<=n;i++)
    {
        for(j=1;j<=m;j++)
        {
            fin>>a[i][j];
        }
    }
    for(i=0;i<(1<<n);i++)
    {
        for(j=0;j<(1<<m);j++)
        {
            for(k=1;k<=n;k++)
            {
                x[k]=((i&(1<<(k-1)))>>(k-1));

                if(x[k]==0)
                    x[k]=-1;
            }
            for(k=1;k<=m;k++)
            {
                y[k]=((j&(1<<(k-1)))>>(k-1));

                if(y[k]==0)
                    y[k]=-1;
            }
            s=0;
            for(k=1;k<=n;k++)
            {
                for(l=1;l<=m;l++)
                {
                    s+=(a[k][l]*x[k]*y[l]);
                }
            }

            if(s>maxim)
            {
                maxim=s;
            }

        }
    }
    fout<<maxim;

    return 0;
}