http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=10108
dp[i]表示有i辆车时的结果
则dp[i]=dp[i-1]*m+dp[i-1]*(i-1) 表示第i辆车可放在最后或者是前i-1辆车中某一辆的前面一个位置
初始化dp[1]=m;
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
__int64 m,n,i,dp;
while(scanf("%I64d%I64d",&m,&n)==2)
{
dp=m;
for(i=2;i<=n;++i)
dp=dp*(m+i-1);
printf("%I64d\n",dp);
}
return 0;
}