poj3672

来源:互联网 发布:软件测试个人心得 编辑:程序博客网 时间:2024/06/10 08:35

题目大意:

给出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;}
0 0
原创粉丝点击