Cod sursa(job #3279159)

Utilizator NonnonsniperCretu Marian-Dumitru Nonnonsniper Data 21 februarie 2025 23:02:17
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda lasm_21_02_2025_clasa11 Marime 1.03 kb
#include <bits/stdc++.h>
using namespace std;
const int INF = 1e9;
int main() {
    ifstream fin("flip.in");
    ofstream fout("flip.out");
    int N, M;
    fin >> N >> M;
    vector<vector<int>> board(N, vector<int>(M));
    for (int i = 0; i < N; i++)
        for (int j = 0; j < M; j++)
            fin >> board[i][j];
    int maxSum = -INF;
    for (int mask = 0; mask < (1 << N); mask++) {
        vector<vector<int>> temp = board;
        for (int i = 0; i < N; i++) {
            if (mask & (1 << i)) { 
                for (int j = 0; j < M; j++) {
                    temp[i][j] *= -1;
                }
            }
        }
        int sum = 0;
        for (int j = 0; j < M; j++) {
            int colSum = 0;
            for (int i = 0; i < N; i++) {
                colSum += temp[i][j];
            }
            if (colSum < 0) {
                colSum *= -1;
            }
            sum += colSum;
        }
        maxSum = max(maxSum, sum);
    }
    fout << maxSum << "\n";
    return 0;
}