Cod sursa(job #2497991)

Utilizator stefanpiturStefan Alexandru Pitur stefanpitur Data 23 noiembrie 2019 13:15:35
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <cstdio>
#define NMAX 201
#define MOD 98999
using namespace std;
int s1[NMAX][NMAX],s2[NMAX][NMAX];

void stirling(){
    s1[0][0] = s2[0][0] = 1;
    for(int i=1; i<NMAX; i++){
        for(int j=1; j<=i; j++){
            s1[i][j] = (1LL*s1[i-1][j-1] - 1LL*(i-1)*s1[i-1][j])%MOD;
            s2[i][j] = (1LL*s2[i-1][j-1] + 1LL*j*s2[i-1][j])%MOD;
        }
    }
}

int main()
{
    FILE *fin, *fout;
    int n,m,T,speta;
    fin = fopen("stirling.in","r");
    fout = fopen("stirling.out","w");
    stirling();
    fscanf(fin,"%d",&T);
    while(T--){
        fscanf(fin,"%d %d %d",&speta,&n,&m);
        if(speta == 1)
            fprintf(fout,"%d\n",s1[n][m]);
        else
            fprintf(fout,"%d\n",s2[n][m]);
    }
    fclose(fin);
    fclose(fout);
    return 0;
}