蒜头君的新游戏

题目:
在这里插入图片描述
在这里插入图片描述
代码如下:

#include<bits/stdc++.h>
using namespace std;
int dp[35][35];
int main()
{
	int n,m;
	cin >> n >> m;
	dp[0][1] = 1;	//dp[i][j]代表传i次娃娃的时候最后回到j手上的可能方案数 
	for(int i = 1;i <= m;i++){
		for(int j = 1;j <= n;j++){
			if(j == 1) dp[i][j] = dp[i - 1][n] + dp[i - 1][2];	//传达第1个人手中有两条路,一条是从2传过来,第二条是从n传过来
			else if(j == n) dp[i][j] = dp[i - 1][n - 1] + dp[i - 1][1]; //传达第n个人手中有两条路,一条是从1传过来,第二条是从n - 1传过来
			else dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j + 1];//不在头尾的情况 
		}	
	} 
	cout << dp[m][1] << endl;
	return 0;
} 

这是一道dp题,想清楚状态和转移方程就不难,上面代码有注释。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值