基础的dp题:
include
using namespace std;
int main()
{
int w; cin>>w; while(w--){ int n,p,m,t,dp[102][102]={0}; cin>>n>>p>>m>>t; dp[p][0]=1; dp[p][1]=0; dp[p][2]=2; int i,j; for(j=1;j<=m;j++){//分钟 for(i=1;i<=n;i++){//在哪一栋 if(i<n){ dp[i][j]=dp[i-1][j-1]+dp[i+1][j-1]; } else{ dp[i][j]=dp[i-1][j-1]; } } } cout<<dp[t][m]<<endl; }
递归是可以过的哦,MLE可能是姿势不正确爆栈了。当然DP是更好的方法。
哇厉害了,感谢!