Cod sursa(job #2447946)

Utilizator bogdanvladmihaiBogdan Vlad-Mihai bogdanvladmihai Data 15 august 2019 10:59:42
Problema Numerele lui Stirling Scor 20
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
#include <bits/stdc++.h>

using namespace std;

const int N_MAX = 205;

int N, M, Q;

int Speta1[N_MAX][N_MAX];
int Speta2[N_MAX][N_MAX];

int main() {
    freopen("stirling.in", "r", stdin);
    freopen("stirling.out", "w", stdout);
    Speta2[1][1] = Speta1[1][1] = 1;
    for (int i = 2; i < N_MAX; ++i) {
        Speta2[i][0] = 0;
        for (int j = 1; j <= i; ++j) {
            Speta2[i][j] = Speta2[i - 1][j - 1] + Speta2[i - 1][j] * j;
        }
    }
    for (int i = 2; i < N_MAX; ++i) {
        Speta1[i][0] = 0;
        for (int j = 1; j <= i; ++j) {
            Speta1[i][j] = Speta1[i - 1][j - 1] - Speta1[i - 1][j] * (i - 1);
        }
    }
    cin >> Q;
    while (Q--) {
        int type;
        cin >> type >> N >> M;
        if (type == 1) {
            cout << Speta1[N][M] << "\n";
        } else {
            cout << Speta2[N][M] << "\n";
        }
    }
    return 0;
}