Cod sursa(job #3248758)

Utilizator marelucaMare Luca Ghita mareluca Data 13 octombrie 2024 08:02:10
Problema Jocul Flip Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <bitset>

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) - 1; ++t1) {
        std::bitset<16> l(t1);

        for (int t2 = 0; t2 < pow(2, m) - 1; ++t2) {
            std::bitset<16> c(t2);

            int sum = 0;
            for (int i = 0; i < n; ++i) {
                for (int j = 0; j < m; ++j) {
                    if ((l[i] == 1 && c[j] == 0) || (l[i] == 0 && c[j] == 1))
                        sum -= A[i][j];
                    else
                        sum += A[i][j];
                }
            }

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

    fout << sumMax;
    return 0;
}