AC代码
using namespace std;
#include <iostream>
//初始化1
int f[20][20]={1};
int main()
{
int n,r,i,j;
cin>>n>>r;
//i个球填到j盒子里种类f[i][j]
//最后一个球,j个盒子满了有j种 ,没满就放在最后一个盒子里
//f[i][j]=f[i-1][j]*j+f[i-1][j-1]
for(i=1;i<=n;i++)
{
for(j=1;j<=r;j++)
{
f[i][j]=f[i-1][j]*j+f[i-1][j-1];
}
}
//r的阶乘,盒子是不同的
int ss=1;
for(i=1;i<=r;i++)
{
ss=ss*i;
}
cout<<ss*f[n][r];
return 0;
}