Cod sursa(job #3323547)

Utilizator AnaBanana2Ana Banana AnaBanana2 Data 18 noiembrie 2025 17:31:05
Problema Jocul Flip Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.96 kb
#include <bits/stdc++.h>
using namespace std;

int mat[25][25];
int mat1[25][25];
int s1[25], s2[25];
int main()
{
    ifstream cin ("flip.in");
    ofstream cout ("flip.out");
    int n, m;
    cin >> n >> m;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=m; j++)
            cin >> mat[i][j], mat1[i][j]=mat[i][j];
    }
    int max1=0;
    for(int mask=0; mask<(1<<n); mask++)
    {
        for(int i=1; i<=n; i++)
        {
            int val=1;
            if(mask&(1<<(i-1)))
                val=-1;
            for(int j=1; j<=m; j++)
            {
                mat[i][j]=mat1[i][j]*val;
                if(mat[i][j]<0)
                    s2[j]+=abs(mat[i][j]);
                else
                    s1[j]+=mat[i][j];
            }
        }
        int sum=0;
        for(int j=1; j<=m; j++)
        {
            sum+=max(s1[j], s2[j])-min(s1[j], s2[j]);
            s1[j]=s2[j]=0;
        }
        max1=max(max1, sum);
    }
    cout << max1;
    return 0;
}