Cod sursa(job #2254185)

Utilizator gavra_bogdanBogdan Gavra gavra_bogdan Data 4 octombrie 2018 20:52:57
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <bits/stdc++.h>

using namespace std;
bool f[20];
int v[20][20],cv[20][20];
int n,m;
int smax()
{
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
            cv[i][j]=v[i][j];
    for(int i=1; i<=n; i++)
        if(f[i])
        {
            for(int j=1; j<=m; j++)
                cv[i][j]*=(-1);
        }
    int s=0;
    for(int i=1; i<=m; i++)
    {
        int sp=0;
        for(int j=1; j<=n; j++)
            sp+=cv[j][i];
        s+=max(sp,sp*(-1));
    }
    return s;
}
int main()
{
    ifstream cin("flip.in");
    ofstream cout("flip.out");
    cin>>n>>m;
    for(int i=1; i<=n; i++)
        for(int j=1; j<=m; j++)
        {
            cin>>v[i][j];
        }
    int mx=0;
    for(int i=0; i<(1<<n); i++)
    {
        int p=0,cn=i;
        memset(f,0,sizeof(f));
        while(cn)
        {
            p++;
            f[p]=cn%2;
            cn/=2;
        }
        mx=max(smax(),mx);
    }
    cout<<mx;
    return 0;
}