Bessie要跑步,不过他要在规定的时间m内返回,有三种路况:上坡,平路,下坡;现在有t个路,同时告诉你这三种路况需要的时间u,f,d,问Bessie能走的最远距离;
#include <iostream>
#include <cstring>
using namespace std;
int main()
{
int lu;
int NUM;
int u;
int f;
int d;
cin>>lu>>NUM>>u>>f>>d;
char c[NUM];
memset(c,0,sizeof(c));
for(int i=0;i<NUM;i++)
{
cin>>c[i];
}
int jg=0;
int js=0;
for(int i=0;i<NUM;i++)
{
if((c[i]=='d')||(c[i]=='u'))
{
if((jg+u+d)<=lu)
{
jg=jg+u+d;//去时上回时下 感谢博友的翻译和提醒
js++;
}else
{
break;
}
}else if(c[i]=='f')
{
if((jg+2*f)<=lu)
{
jg=jg+2*f;
js++;
}else
{
break;
}
}
}
cout<<js;
return 0;
}