Cod sursa(job #1429108)

Utilizator movo608Moldovan Andrei movo608 Data 5 mai 2015 17:40:38
Problema Jocul Flip Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <iostream>

using namespace std;

#define Nmax 17
#define FOR(i,a,b) for(i=a;i<=b;i++)
int semn[Nmax];
int a[Nmax][Nmax],m , n ,total=0;

void bkt(int k)
{
    int Sum1,Sum2=0;
    int j , i;
    if(k == n+1)
    {
        FOR( i, 1, m)
        {
            Sum1 = 0;
            FOR(j , 1 , n)
                Sum1 = Sum1 + a[i][j] * semn[j];


                //Sumcol=Sumcol + semn[j]?a[i][j]:-a[i][j];

            Sum2=Sum2+max(Sum1,-Sum1);
        }
        total=max(total,Sum2);
        return;
    }
    semn[k] = 1;
    bkt( k + 1 );
    semn[k] = -1;
    bkt(k + 1);

}
int main()
{
  ifstream f("flip.in");
  ofstream g("flip.out");
  int j ,i;
  f >> m>> n;
  FOR(i , 1 , m)
  {
      FOR(j , 1 , n)
      {
          f >> a[i][j];
      }
  }
  bkt(1);
  g << total;
    return 0;
}