Cod sursa(job #1820338)

Utilizator dumitrualexAlex Dumitru dumitrualex Data 1 decembrie 2016 16:39:46
Problema Jocul Flip Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <cstdio>
#define nmax 16

int a[nmax+5][nmax+5];
int N;

int main()
{
    freopen("flip.in", "r", stdin);
    freopen("flip.out", "w", stdout);

    scanf("%d", &N);

    int i, j;

    for (i = 1; i <= N; i++)
        for (j = 1; j <= N; j++)
            scanf("%d", &a[i][j]);

    int max_sum = 0;

    for (int binary = 0; binary < (1 << N); binary++)
    {
        int s = 0;
        int row_sum;
        for (i = 1; i <= N; i++) {
            row_sum = 0;
            for (j = 1; j <= N; j++)
                if ((binary & (1 << j)))
                    row_sum += a[i][j];
                else
                    row_sum -= a[i][j];

            if (row_sum >= 0)
                s += row_sum;
            else
                s -= row_sum;
        }
        if (s > max_sum)
            max_sum = s;
    }

    printf("%d", max_sum);
    return 0;
}