题目:
代码:
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<cstring>
using namespace std;
int a[110];
int dp[110];//记录每次i+j的位置需要几次才能到达;
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
memset(dp,0,sizeof(dp));
dp[0]=0;
for(int i=0;i<n;i++)
{
for(int j=1;j<=a[i];j++)
{
if(dp[i+j]<=0)
dp[i+j]=dp[i]+1;
else
{
if(dp[i]+1<dp[i+j])
dp[i+j]=dp[i]+1;
}
}
}
cout<<dp[n-1]<<endl;
return 0;
}