Cod sursa(job #659420)

Utilizator yamahaFMI Maria Stoica yamaha Data 10 ianuarie 2012 17:06:42
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include<cstdio>
#include<fstream>

using namespace std;

#define N 201
#define MOD 98999

int t,n,m,speta,s[N][N],S[N][N];

void prep_s(void); // preprocesare speta I
void prep_S(void); // preprocesare speta II

int main ()
{
  ifstream f("stirling.in");
  ofstream g("stirling.out");
  
  prep_s();
  prep_S();
  
  f>>t;
  while(t--)
  {
    f>>speta>>n>>m;
    if(speta==1) g<<s[n][m]<<endl;
    else g<<S[n][m]<<endl;
  }
    
  return 0;
}

void prep_s()
{
  s[1][1]=1;
  for(int i=2;i<N;i++)
    for(int j=1;j<=i;j++)
      s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%MOD;
}

void prep_S()
{
  S[1][1]= 1;
	for(int i=2;i<N;++i)
		for(int j=1;j<=i;++j)
			S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%MOD;
}