Cod sursa(job #900859)

Utilizator VisuianMihaiMihai Visuian VisuianMihai Data 28 februarie 2013 22:16:41
Problema Jocul Flip Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("flip.in");
ofstream fout("flip.out");
int a[17][17], v[17], n, m;
long long maxim = -9999999999;
void Back(int k)
{
    if ( k == n+1 )
    {
        long long sum = 0;
        for ( int i = 1; i <= n; i++ )
        {
            long long aux = 0;
            for ( int j = 1; j <= m; j++ )
                aux += a[i][j]*v[j];
            aux<0?sum+=-aux:sum+=aux;
        }
        maxim = max(sum,maxim);
        return;
    }
    v[k] = 1, Back(k+1);
    v[k] = -1, Back(k+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 << maxim;
    fin.close();
    fout.close();
    return 0;
}