烏龜與兔子進行賽跑,跑場是一個矩型跑道,跑道邊可以隨地進行休息。烏龜每分鐘可以前進3米,兔子每分鐘前進9米;兔子嫌烏龜跑得慢,覺得肯定能跑贏烏龜,於是,每跑10分鐘回頭看一下烏龜,若發現自己超過烏龜,就在路邊休息,每次休息30分鐘,否則繼續跑10分鐘;而烏龜非常努力,一直跑,不休息。假定烏龜與兔子在同一起點同一時刻開始起跑,請問T分鐘後烏龜和兔子誰跑得快?
輸入在一行中給出比賽時間T(分鐘)。
在一行中輸出比賽的結果:烏龜贏輸出@_@,兔子贏輸出^_^,平局則輸出-_-;後跟1空格,再輸出勝利者跑完的距離。
242
@_@ 726
1 #include <stdio.h>
2 #include <string.h>
3
4 int main(void)
5 {
6 int i, m, flag = 0;
7 int turtle=0, rabbit=0;
8 scanf("%d", &m);
9 for (i = 0; i<m ;i++ ){
10 turtle += 3;
11 //如果兔子不在休息,且每10分鐘看到比龜快,來判斷要不要休息
12 if (flag==0 && i%10==0 && rabbit>turtle) {
13 flag = 30; // 休息30分鐘
14 }
15 //休息結束
16 if (flag == 0){
17 rabbit += 9;
18 }else{ //休息中
19 flag--;
20 }
21
22 }
23
24 char win_s[5];
25 int win_d;
26 if (rabbit>turtle){
27 strcpy(win_s,"^_^");
28 win_d = rabbit;
29 }else if (rabbit<turtle){
30 strcpy(win_s,"@_@");
31 win_d = turtle;
32 }else{
33 strcpy(win_s,"-_-");
34 win_d = turtle;
35 }
36 printf("%s %d\n", win_s, win_d);
37 return 0;
38 }