题目大意:
给出M, T, U, F, 和D。M表示最多跑的秒数,T代表单元,U代表上坡的秒数,F代表平路的秒数,D代表下坡的秒数。问他最多跑多少单元
解题思路:
模拟跑步过程即可
代码如下:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int m,t,U,F,D,i;
int sum=0,mark=0,flag=0;
char c;
scanf("%d%d%d%d%d",&m,&t,&U,&F,&D);
for(i=1;i<=t;i++)
{
getchar();
scanf("%c",&c);
if(c=='u'&&(!flag))
{
sum=sum+U+D;
if(sum>m)
{
flag=1;
mark=i-1;
}
}
if(c=='f'&&(!flag))
{
sum=sum+2*F;
if(sum>m)
{
flag=1;
mark=i-1;
}
}
if(c=='d'&&(!flag))
{
sum=sum+D+U;
if(sum>m)
{
flag=1;
mark=i-1;
}
}
}
printf("%d\n",mark);
return 0;
}