Cod sursa(job #2509705)

Utilizator balantudor478Balan Tudor Cristian balantudor478 Data 14 decembrie 2019 16:29:37
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul II Marime 1.25 kb
//#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("flip.in");
ofstream fout("flip.out");
//ifstream fin("mine.in");
//ofstream fout("mine.out");
int n, m, m1[20][20], s = 0, i, j, m2[20][20];

void Seek() {
    bool ok;
    for (int k = 1; k <= (1 << m) - 1; k++) {
        for (j = 1; j <= m; j++) {
                ok = 0;
                if (k & (1 << (j - 1)))
                    ok = 1;
                for (i = 1; i <= n; i++) {
                    m2[i][j] = m1[i][j];
                    if (ok)
                        m2[i][j] *= (-1);
                }
        }
                int ss, s2 = 0;
                for (i = 1; i <= n; i++) {
                    ss = 0;
                    for (j = 1; j <= m; j++)
                        ss += m2[i][j];
                    if (ss < 0) ss *= (-1);
                    s2 += ss;
                }
                if (s2 > s)
                    s = s2;
        }
    }

int main() {
    fin >> n >> m;
    for (i = 1; i <= n; i++) {
        if (s < 0) s *= (-1);
        for (j = 1; j <= m; j++) {
            fin >> m1[i][j];
            s += m1[i][j];
        }
    }
    Seek();
    fout << s;
    fin.close();
    fout.close();
    return 0;
}