Pagini recente » Cod sursa (job #2155544) | Cod sursa (job #2878564) | Cod sursa (job #880321) | Cod sursa (job #2790947) | Cod sursa (job #2068668)
#include <fstream>
using namespace std;
ifstream fin("stirling.in");
ofstream fout("stirling.out");
int dis1[210][210],dis2[210][210];
void calcdis1(int n,int m)
{
if(dis1[n][m]!=0 || n==0 || m==0)
return ;
calcdis1(n-1,m-1);
calcdis1(n-1,m);
dis1[n][m]=dis1[n-1][m-1]-(n-1)*dis1[n-1][m];
}
void calcdis2(int n,int m)
{
if(dis2[n][m]!=0 || n==0 || m==0)
return ;
calcdis2(n-1,m-1);
calcdis2(n-1,m);
dis2[n][m]=dis2[n-1][m-1]+dis2[n-1][m]*m;
}
int main()
{
int t,i,x,n,m;
fin>>t;
dis1[1][1]=1;
dis2[1][1]=1;
for(i=1;i<=t;i++)
{
fin>>x>>n>>m;
if(x==1)
{
calcdis1(n,m);
fout<<dis1[n][m]<<'\n';
}
else
{
calcdis2(n,m);
fout<<dis2[n][m]<<'\n';
}
}
return 0;
}