传球游戏

传球游戏

https://ac.nowcoder.com/acm/problem/16619

//传球游戏
//dp
//f[i][j]表示第j次传球传到i的可能数
//f[i][j]=f[i-1][j-1]+f[i+1][j-1]
//首尾的人特判
#include<bits/stdc++.h>

using namespace std;
typedef long long ll;

ll f[35][35];
int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);cout.tie(0);

    int n,m;
    cin>>n>>m;
    f[1][0]=1;//第一个人初始化

    for(int j=1;j<=m;j++)
        for(int i=1;i<=n;i++)
    {
        if(i==1)    f[i][j]=f[n][j-1]+f[i+1][j-1];//第一个人特判
        else if(i==n)   f[i][j]=f[i-1][j-1]+f[1][j-1]; //最后一个人特判
        else  f[i][j]=f[i-1][j-1]+f[i+1][j-1];
    }
    cout<<f[1][m]<<endl;
}
全部评论

相关推荐

已注销:bro不如吃顿疯狂星期四
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务