//参考了别人的代码,这种头尾相接的处理十分巧妙 #include <iostream> using namespace std; int n,m,f[32][32]; //f[i][j]表示第i次j拿到球的种数 int main() { cin>>n>>m; f[0][1]=f[0][n+1]=1; //初始化,头和尾接上 for (int i=1;i<=m;++i) { for (int j=1;j<=n;++j) f[i][j]=f[i-1][j-1]+f[i-1][j+1]; f[i][0]=f[i][n]; f[i][n+1]=f[i][1]; //再次处理头尾 } cout<<f[m][1]; return 0; }
4
1
2015
1
2015