Cod sursa(job #2629833)

Utilizator cyg_vladioanBirsan Vlad cyg_vladioan Data 22 iunie 2020 20:19:52
Problema Numerele lui Stirling Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <cstdio>
using namespace std;
const int NMAX = 200;
const int MMAX = 200;
const long long MOD = 98999;
int s1[NMAX + 5][MMAX + 5] , s2[NMAX + 5][MMAX + 5];
int main()
{
    freopen("stirling.in" , "r" , stdin);
    freopen("stirling.out" , "w" , stdout);
    int t , n , m , x , i , j;
    s1[0][0] = s2[0][0] = 1;
    for(i = 1 ; i <= NMAX ; i ++)
        for(j = 1 ; j <= MMAX ; j ++)
        {
            s1[i][j] = (int)((1LL * s1[i - 1][j - 1] - (1LL * (i - 1) * s1[i - 1][j]) % MOD) % MOD);
            s2[i][j] = (int)((1LL * s2[i - 1][j - 1] + (1LL * j * s2[i - 1][j]) % MOD) % MOD);
        }
    scanf("%d" , &t);
    for(i = 1 ; i <= t ; i ++)
    {
        scanf("%d%d%d" , &x , &n , &m);
        if(x == 1)
            printf("%d\n" , s1[n][m]);
        else
            printf("%d\n" , s2[n][m]);
    }
    return 0;
}