Cod sursa(job #791713)

Utilizator preg_concursPregatire Concurs preg_concurs Data 24 septembrie 2012 22:35:31
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<fstream>
#include<cstdio>
#include<cmath>

using namespace std;

#define mod 98999

FILE *f, *g;

long n, m, t, s[201][201], sp, S[201][201];

void prel_s()
{
int i, j;
s[1][1]=1;

for(i=2; i<201; i++)
    for(j=1; j<=i; j++)
        s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%mod;
}

void prel_S()
{
    int i, j;

S[1][1]=1;

for(i=2; i<201; i++)
   for(j=1; j<=i; j++)
       S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%mod;

}


int main()
{
f=fopen("stirling.in", "r");
g=fopen("stirling.out", "w");//ofstream g ("stirling.out");

prel_s();
prel_S();

fscanf(f, "%d", &t);

for(int i=1; i<=t; i++)
{
fscanf(f, "%d", &sp);//f>>sp;
fscanf(f, "%d", &n);//f>>n;
fscanf(f, "%d", &m);//f>>m;

if (sp==1)
   fprintf(g, "%d\n", s[n][m]);// g<<s[n][m]<<endl;
if(sp==2)
    fprintf(g, "%d\n", S[n][m]);//g<<S[n][m]<<endl;
}
return 0;
}