清润邯郸网站,wordpress文章页获取标签代码,外包网站建设多少钱,wordpress安装官网题目描述
上体育课的时候#xff0c;小蛮的老师经常带着同学们一起做游戏。这次#xff0c;老师带着同学们一起做传球游戏。
游戏规则是这样的#xff1a;n个同学站成一个圆圈#xff0c;其中的一个同学手里拿着一个球#xff0c;当老师吹哨子时开始传球#xff0c;每个…题目描述
上体育课的时候小蛮的老师经常带着同学们一起做游戏。这次老师带着同学们一起做传球游戏。
游戏规则是这样的n个同学站成一个圆圈其中的一个同学手里拿着一个球当老师吹哨子时开始传球每个同学可以把球传给自己左右的两个同学中的一个左右任意当老师再次吹哨子时传球停止此时拿着球没有传出去的那个同学就是败者要给大家表演一个节目。
聪明的小蛮提出一个有趣的问题有多少种不同的传球方法可以使得从小蛮手里开始传的球传了m次以后又回到小蛮手里。两种传球方法被视作不同的方法当且仅当这两种方法中接到球的同学按接球顺序组成的序列是不同的。比如有三个同学11号、22号、33号并假设小蛮为11号球传了33次回到小蛮手里的方式有11-22-33-11和11-33-22-11共22种。
输入格式
一行有两个用空格隔开的整数 n,m(3≤n≤30,1≤m≤30)。
输出格式
11个整数表示符合题意的方法数。
样例输入
3 3
样例输出
2
说明提示
40%的数据满足3≤n≤30,1≤m≤203≤n≤30,1≤m≤20
100%的数据满足3≤n≤30,1≤m≤303≤n≤30,1≤m≤30
参考代码
#includebits/stdc.h
using namespace std;
int dp[1005][1005];
int main(){int n,m;cin n m;dp[1][n] 1;dp[1][2] 1;for(int i2;im;i){for(int j1;jn;j){int first j-1;int second j1;if(first 1)first n;if(second n)second 1;dp[i][j] dp[i-1][first]dp[i-1][second];}}coutdp[m][1];return 0;
}