Cod sursa(job #63137)

Utilizator crawlerPuni Andrei Paul crawler Data 26 mai 2007 23:43:29
Problema 1-sir Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>

using namespace std;

int abs(int a)
 {
  if(a>0)
   return a;
    else
   return -a;
 }

void swap(int &a,int &b)
 {
  int aux = a;
  a = b;
  b = aux;
 }

int a[2][35100];

int main()
 {
  freopen("1-sir.in","r",stdin);
  freopen("1-sir.out","w",stdout);

  int i,n,s, lim;

  scanf("%d%d",&n,&s);

  s = abs(s);
  lim = n*(n-1)/2;
  
  if(abs(lim)<s)
   {
    printf("0\n");
    return 0;
   }


  int p1=0,p2=1, j;
  #define MOD 194767

  a[p1][0] = 1;
  

  for(i=1;i<n;++i)
   {
    for(j=0;j<=lim;++j)
     a[p2][j] = (a[p1][j+i] + a[p1][abs(j-i)]) % MOD;
    swap(p1,p2);
   }

  printf("%d\n",a[p1][s]);

  return 0;
 }