乌龟与兔子进行赛跑,跑场是一个矩型跑道,跑道边可以随地进行休息。乌龟每分钟可以前进3米,兔子每分钟前进9米;兔子嫌乌龟跑得慢,觉得肯定能跑赢乌龟,于是,每跑10分钟回头看一下乌龟,若发现自己超过乌龟,就在路边休息,每次休息30分钟,否则继续跑10分钟;而乌龟非常努力,一直跑,不休息。假定乌龟与兔子在同一起点同一时刻开始起跑,请问T分钟后乌龟和兔子谁跑得快?

输入格式:

输入在一行中给出比赛时间T(分钟)。

输出格式:

在一行中输出比赛的结果:乌龟赢输出@_@,兔子赢输出^_^,平局则输出-_-;后跟1空格,再输出胜利者跑完的距离。

输入样例:

  1. 242

输出样例:

  1. @_@ 726

思路:

设置兔子的跑步时间和休息位,只用考虑兔子当前处于哪种状态(奔跑/休息)

  1. #include<stdio.h>
  2. int main(){
  3. int tz, wg;
  4. int time;
  5. int wait, runtime;
  6. int i;
  7. tz = 0;
  8. wg = 0;
  9. wait = 0;//兔子休息位
  10. runtime = 0;//兔子跑的时间
  11. scanf("%d", &time);
  12. for(i=0; i<time; i++){
  13. wg = wg + 3;
  14. if(wait==0){
  15. tz = tz + 9;
  16. runtime++;
  17. }
  18. else
  19. wait--;
  20. if(runtime==10){
  21. if(tz>wg){
  22. wait = 30;
  23. runtime = 0;
  24. }
  25. else
  26. runtime = 0;
  27. }
  28. }
  29. if(tz>wg)
  30. printf("^_^ %d", tz);
  31. else if(tz==wg)
  32. printf("-_- %d", tz);
  33. else
  34. printf("@_@ %d", wg);
  35. return 0;
  36. }