Cod sursa(job #526892)
| Utilizator | Data | 29 ianuarie 2011 18:48:12 | |
|---|---|---|---|
| Problema | Numerele lui Stirling | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 1.05 kb |
#include<iostream.h>
#include<fstream.h>
#define N 201
int t,n,m,k,i,j,l,s[N][N],S[N][N];
int main()
{ifstream f1("stirling.in");
ofstream f2("stirling.out");
f1>>t;
for(l=1;l<=t;l++)
{f1>>k>>n>>m;
if(k==1)
{for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(i==j)
s[i][j]=1;
else
if(i<j)
s[i][j]=0;
else
s[i][j]=(s[i-1][j-1]-(i-1)*s[i-1][j])%98999;}
f2<<s[n][m]<<endl;}
else
{for(i=1;i<=n;i++)
{for(j=1;j<=m;j++)
if(i==j||(i>1&&j==1))
S[i][j]=1;
else
if(i<j)
S[i][j]=0;
else
S[i][j]=(S[i-1][j-1]+j*S[i-1][j])%98999;}
f2<<S[n][m]<<endl;}}
f1.close();
f2.close();
return 0;}
