Cod sursa(job #2168123)

Utilizator Lazar_LaurentiuLazar Laurentiu Lazar_Laurentiu Data 14 martie 2018 09:39:20
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include <iostream>
#include <fstream>
#define MAX 20

using namespace std;

int n,m,ans,ansf,s1,s2;
int a[MAX][MAX];
bool fl[MAX];

int main()
{
    ifstream f ("flip.in");
    ofstream g ("flip.out");
    f>>n>>m;
    for(int i=1;i<=n;i++) for(int j=1;j<=m;j++)
      f>>a[i][j];
    ansf=-1000000000;
    for(int c=0;c<(1<<n);c++){
      for(int b=1,i=1;i<=n;b<<=1,i++)
        if((c|b)==c)fl[i]=true; else fl[i]=false;
      ans=0;
      for(int j=1;j<=m;j++){
        s1=s2=0;
        for(int i=1;i<=n;i++)
          s1+=a[i][j]*(1-2*( fl[i])),
          s2+=a[i][j]*(1-2*(!fl[i]));
        ans+=max(s1,s2);
      }
      ansf=max(ansf,ans);
    }
    g<<ansf;
    f.close ();
    g.close ();
    return 0;
}