vijos P1485傳球遊戲(遞推)

                 題目鏈接:https://vijos.org/p/1485

                 思路:dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1] ,dp[i][j]表示經過i次到達j的次數。

                詳細代碼:

#include<iostream>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1e3+100;
int dp[maxn][maxn];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	int i,j,k;
	memset(dp,0,sizeof dp);
	dp[0][0]=1;
	for(i=1;i<=m;i++)
	{
		dp[i][0]=dp[i-1][n-1]+dp[i-1][1];
		dp[i][n-1]=dp[i-1][n-2]+dp[i-1][0];
		for(j=1;j<n-1;j++)
		{
			dp[i][j]=dp[i-1][j-1]+dp[i-1][j+1];
		}
	}
	cout<<dp[m][0]<<endl;
	return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章