计蒜客蒜头君的新游戏

版权声明:原创博客 喜欢拿走 https://blog.csdn.net/qq_43004519/article/details/84447578

在这里插入图片描述

/*
本题的核心思想即是dp[m][0](传递m次到第0个人的方法数)=dp[m-1][1]+dp[m-1][n-1]
*/
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
    int n,m;
    int dp[31][30];//dp[m][0]表示传递m次到第0个人手里的方法数
    memset(dp,0,sizeof(dp));
    dp[0][0]=1;
    cin>>n>>m;
    for(int i=1;i<=m;i++){//外层传递次数的循环
        for(int j=0;j<n;j++){//内层为人的循环
            dp[i][j]=dp[i-1][(j+1)%n]+dp[i-1][(j-1+n)%n];
        }
    }
    cout<<dp[m][0]<<endl;
    return 0;//give me five
}

猜你喜欢

转载自blog.csdn.net/qq_43004519/article/details/84447578