Cod sursa(job #1002665)

Utilizator Darius15Darius Pop Darius15 Data 28 septembrie 2013 14:36:03
Problema Jocul Flip Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <fstream>
#include <cmath>

using namespace std;

int n, l, a[17],b[17][17],maxi,j,m,i;
ifstream f("flip.in");
ofstream g("flip.out");
void init (int l) {
  a[l] = -1;
}
int modul(int u)
{
    if (u>0) return u;
    else return -u;
}
bool succesor (int l) {
  a[l]+=2;
  return a[l] <= 1;
}

bool sol (int l) {
  return l == n+1;
}

void constr () {
  int i,s=0,s1;
  for(j=1;j<=m;j++){s1=0;
  for (i = 1; i <= n; i++)
    s1+=b[i][j]*a[i];
  s+=modul(s1);
  }
  if(s>maxi) maxi=s;
}

void bt (int l) {
  init (l);
  while (succesor(l))
      if (sol(l))
        constr();
      else
        bt(l+1);
}
int main () {
f >> n>>m;
for (i=1;i<=n;i++)
    for (j=1;j<=m;j++)
      f>>b[i][j];
  bt(1);
g<<maxi;
  return 0;
}