Cod sursa(job #3248761)

Utilizator marelucaMare Luca Ghita mareluca Data 13 octombrie 2024 08:14:33
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.94 kb
#include <fstream>
#include <bitset>
#include <cmath>

std::string file_name = "flip";

std::ifstream fin(file_name + ".in");
std::ofstream fout(file_name + ".out");

int A[16][16];

int main(){
    int n, m;
    fin >> n >> m;

    for (int i = 0; i < n; ++i)
        for (int j = 0; j < m; ++j)
            fin >> A[i][j];
    
    int sumMax = -1;
    for (int t1 = 0; t1 < pow(2, n); ++t1) {
        std::bitset<16> l(t1);

        int sumTotala = 0;
        for (int j = 0; j < m; ++j) {
            int sumColoana = 0;
            for (int i = 0; i < n; ++i) {
                if (l[i] == 1)
                    sumColoana -= A[i][j];
                else
                    sumColoana += A[i][j];
            }

            if (sumColoana < 0)
                sumColoana *= -1;
            sumTotala += sumColoana;
        }

        sumMax = std::max(sumTotala, sumMax);
    }

    fout << sumMax;
    return 0;
}