Cod sursa(job #2863259)

Utilizator vladutzu_finutzuVlad Cacenschi vladutzu_finutzu Data 6 martie 2022 15:34:58
Problema Jocul Flip Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
using namespace std;
//ifstream cin("/Users/vladcacenschi/Desktop/cpp/infoarena/flip/flip/flip.in");
//ofstream cout("/Users/vladcacenschi/Desktop/cpp/infoarena/flip/flip/flip.out");
ifstream cin("flip.in");
ofstream cout("flip.out");

const int NMAX = 20;
int n, m, sumMax;
int a[NMAX][NMAX], b[NMAX][NMAX];
int main(int argc, const char * argv[]) {
    cin>>n>>m;
    
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            cin>>a[i][j];
    
    const int limit = (1<<n);
    
    for(int c=1; c<=limit; c++)
    {
        for(int i=1; i<=n; i++)
            for(int j=1; j<=m; j++)
                b[i][j] = a[i][j];
        
        
        for(int i=1; i<=n; i++)
        {
            if(!((c & (1<<(i-1))) > 0))
                continue;
            
            for(int j=1; j<=m; j++)
                b[i][j] *= -1;
        }
        
        int sum = 0;
            
        for(int j=1; j<=m; j++)
        {
            int s = 0;
            for(int i=1; i<=n; i++)
                s += b[i][j];
            
            if(s < 0)
                s *= -1;
            sum += s;
        }
        sumMax = max(sumMax, sum);
    }
    
    cout<<sumMax;
    return 0;
}