Cod sursa(job #2060908)
Utilizator | Data | 8 noiembrie 2017 19:40:08 | |
---|---|---|---|
Problema | Numerele lui Stirling | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.25 kb |
#include<bits/stdc++.h>
using namespace std;
#define mod 98999
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int a[206][206];
int main()
{
int t,n,m,x,k,i,j;
fin>>t;
for(k=1; k<=t; k++)
{
fin>>x>>n>>m;
if(x==1)
{
for(i=1; i<=n; i++)
{
for(j=1; j<=m; j++)
{
if(i==1 && j==1)
{
a[i][j]=1;
}
else
{
if(i>=j)
{
a[i][j]=(a[i-1][j-1]-(i-1)*a[i-1][j])%mod;
}
}
}
}
fout<<a[n][m]<<"\n";
}
else
{
for(i=1; i<=n; i++)
{
a[i][1]=1;
for(j=2; j<=m; j++)
{
if(i<j)
a[i][j]=0;
else
{
a[i][j]=(a[i-1][j-1]+j*a[i-1][j])%mod;
}
}
}
fout<<a[n][m]<<"\n";
}
}
return 0;
}