poj 比赛上的一道题,理解题意后还是蛮简单的,
代码如下:
#include<iostream>
using namespace std;
int main()
{
long m,t,u1,d1,f1;
cin>>m>>t>>u1>>f1>>d1;
char a[100001];
for(int i=0;i<t;i++)
cin>>a[i];
long k1=0,k2,distance=0;
for(int i=0;i<t;i++)
{
if(a[i]=='u')
{
k1=k1+u1;
k2=k1+d1;
k1=k2;
distance++;
}
else if(a[i]=='f')
{
k1=k1+f1;
k2=k1+f1;
k1=k2;
distance++;
}
else if(a[i]=='d')
{
k1=k1+d1;
k2=k1+u1;
k1=k2;
distance++;
}
if(k2>m)
{
distance--;
break;
}
else if(k2==m)
break;
}
cout<<distance<<endl;
return 0;
}