洛谷 P1057 [NOIP2008 普及组] 传球游戏

洛谷 P1057 [NOIP2008 普及组] 传球游戏

思路:因为一个人的传球次数是由他左右人的次数得出的,所以a[i][j]=a[i-1][j-1]+a[i-1][j+1]。
代码

#include<bits/stdc++.h>
using namespace std;
long long n,m,a[31][31],i,j;
int main(){
    
    
	cin>>n>>m;
	a[0][1]=1;
	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++){
    
    
			if(j==1)
				a[i][j]+=a[i-1][2]+a[i-1][n];
			else if(j==n)
				a[i][j]+=a[i-1][n-1]+a[i-1][1];
			else
				a[i][j]+=a[i-1][j-1]+a[i-1][j+1];
		}
	cout<<a[m][1];
	return 0;
}

猜你喜欢

转载自blog.csdn.net/weixin_52536621/article/details/113921530