Cod sursa(job #1747694)

Utilizator ricardinhoricardinho ricardinho Data 25 august 2016 13:25:15
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>

using namespace std;

int N, M;

int solve_me(unsigned long int t[20][20], int n, int m)
{
    if(m > M)
    {
        int sum = 0;
        int total = 0;

        for(int i = 1; i <= N; i++)
        {
            for(int j = 1; j <= M; j++)
                sum += t[i][j];

            if(sum < 0)
            {
                sum = -sum;
            }

            total += sum;

            sum = 0;
        }

        return total;
    }

    int res1 = solve_me(t, n, m+1);

    for(int i = 1; i <= N; i++)
        t[i][m] = -t[i][m];

    int res2 = solve_me(t, n, m+1);

    return max(res1, res2);
}

int main()
{
    ifstream in("flip.in");
    ofstream out("flip.out");

    unsigned long int table[20][20] = {0};

    in >> N >> M;

    for(int i = 1; i <= N; i++)
    {
        for(int j = 1; j <= M; j++)
        {
            in >> table[i][j];
        }
    }

    out << solve_me(table, N, 1);

    in.close();
    out.close();

    return 0;
}