Cod sursa(job #602675)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 12 iulie 2011 15:11:37
Problema Numerele lui Stirling Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.93 kb
#include <iostream>
#include <fstream>

#define NMax 205

using namespace std;

int s[NMax][NMax], S[NMax][NMax];

void Calcs ()
{
    s[1][1]=1;
    for (int i=2; i<=200; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            s[i][j]=s[i-1][j-1]-(i-1)*s[i-1][j];
        }
    }
}

void CalcS ()
{
    S[1][1]=1;
    for (int i=2; i<=200; ++i)
    {
        for (int j=1; j<=i; ++j)
        {
            S[i][j]=S[i-1][j-1]+j*S[i-1][j];
        }
    }
}

int main()
{
    ifstream fin ("stirling.in");
    ofstream fout ("stirling.out");
    Calcs ();
    CalcS ();
    int T;
    fin >> T;
    for (; T>0; --T)
    {
        int Speta, n, m;
        fin >> Speta >> n >> m;
        if (Speta==1)
        {
            fout << s[n][m] << "\n";
        }
        else
        {
            fout << S[n][m] << "\n";
        }
    }
    fin.close ();
    fout.close ();
    return 0;
}