Cod sursa(job #6988)

Utilizator vlad_popaVlad Popa vlad_popa Data 21 ianuarie 2007 11:26:54
Problema 1-sir Scor 10
Compilator cpp Status done
Runda preONI 2007, Runda 1, Clasele 11-12 Marime 0.72 kb
using namespace std;

#include <cstdio>

#define FIN "1-sir.in"
#define FOUT "1-sir.out"
#define nmax 31

int s[nmax], i, j, k, n, sum, rez, ct;
const int prim = 194767;

void calc ()
{
  int i, x;
  x = rez = 0;
  for (i = 1; i < n; i++)
    if (s[i] == 0)
     {
       rez += x-1;
       x--;
     }
    else
     {
       rez += x+1;
       x++;
     }
  if (rez == sum)
    ct++;
}

void back (int p)
{
  int i;
  for (i = 1; i >= 0; i--)
   {
     s[p] = i;
     if (p == n-1)
       calc ();
     else back (p+1);
   }
}

int
 main ()
{
  freopen (FIN, "rt", stdin);
  freopen (FOUT, "wt", stdout);

  scanf ("%d%d", &n, &sum);
  back (1);
  printf ("%d\n", ct);
  return 0;
}