跳跃比赛
这应该算背包问题吧
#include<bits/stdc++.h> using namespace std; int i,n; int st=0; int maxx,j; int a[100000]; int t[100000]; int temp[1000000]; int main(){ while(cin>>n){ maxx=n; i=0; st=0; for(i=0;i<n;i++){ cin>>a[i]; } i=0; t[0]=0; for(i=1;i<n;i++){ t[i]=i; temp[i]=i-1; for(j=0;j<i;j++){ if(t[j]+1<t[i]&&j+a[j]>=i){ t[i]=t[j]+1; temp[i]=j; } } } /* for(i=0;i<n;i++){ cout<<"time"<<i<<" "<<t[i]<<endl; } */ cout<<t[n-1]<<endl; //<<" "<<temp[n-1]<<endl; } }