- 过河
- 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:43
sofa....真舒服
- 1