Cod sursa(job #1476214)

Utilizator k_ounu_eddyIacob Eduard k_ounu_eddy Data 24 august 2015 17:43:01
Problema Numerele lui Stirling Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.91 kb
#include<iostream>
#include<stdio.h>
#define lim 201
#define MOD 98999
using namespace std;

int s[lim][lim];
int S[lim][lim];

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

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

int main()
{
    int N,K;
    int n, m;    

    freopen("stirling.in","r",stdin);
    freopen("stirling.out", "w", stdout);

    int T;
    scanf("%d", &T);
    s[0][0] = 1;
    S[0][0] = 1;

    precalculeaza_s();
    precalculeaza_S();

    for(int i=1;i<=T;i++)
    {
           int x,n,m;
           scanf("%d %d %d", &x, &n, &m);
           if(x==1)
               printf("%d \n", s[n][m]);
           else
               printf("%d \n", S[n][m]);
    }

    return 0;
}