- 过河
- @ 2017-05-21 21:51:39
昨晚试了三四次不过才发现是不踩石子...就很伤心...就很想一个人静静,下次一定要看题。
附:如果踩石子该怎么做
#include<iostream>
#include<cstring>
using namespace std;
long long a[101];int b[101];
int main()
{
    memset(b,-1,sizeof(b));
    long long n; 
    cin>>n;
    b[0]=1;
    int s,t,m,i,k,min,max=n+2,x;
     cin>>s>>t>>m;
    for(i=1;i<=m;i++)
     cin>>a[i];
    for(i=1;i<=m;i++)
     {
     min=i+1;
     for(x=1;x<=i;x++)
      if(a[i]-a[i-x]>=s&&a[i]-a[i-x]<=t&&b[i-x]>0)
       if(b[i-x]<min)
        min=b[i-x];
     b[i]=min+1;
     }
    for(i=m;i>0;i--)
    {
        if(n-a[i]<=t)
          if(b[i]<max)
           max=b[i];
    }
    cout<<max-2;
    return 0;
}
1 条评论
- 
  三剑客第三位 LV 8 @ 2018-08-02 12:29:43sofa....真舒服 
- 1