7-22 龜兔賽跑 (20 分)


題目鏈接

烏龜與兔子進行賽跑,跑場是一個矩型跑道,跑道邊可以隨地進行休息。烏龜每分鍾可以前進3米,兔子每分鍾前進9米;兔子嫌烏龜跑得慢,覺得肯定能跑贏烏龜,於是,每跑10分鍾回頭看一下烏龜,若發現自己超過烏龜,就在路邊休息,每次休息30分鍾,否則繼續跑10分鍾;而烏龜非常努力,一直跑,不休息。假定烏龜與兔子在同一起點同一時刻開始起跑,請問T分鍾后烏龜和兔子誰跑得快?

輸入格式:

輸入在一行中給出比賽時間T(分鍾)。

輸出格式:

在一行中輸出比賽的結果:烏龜贏輸出@_@,兔子贏輸出^_^,平局則輸出-_-;后跟1空格,再輸出勝利者跑完的距離。

輸入樣例:

242

輸出樣例:

@_@ 726

 

 1 #include<algorithm>
 2 #include<iostream>
 3 #include<cstring>
 4 #include<cstdio>
 5 #include<cmath>
 6 using namespace std;
 7 int main(){
 8     int t,rabbit_sum,tortoise_sum;
 9     scanf("%d",&t);
10     rabbit_sum = 0,tortoise_sum = 0;
11     for(int i = 1;i <= t;i++){
12         rabbit_sum += 9;
13         tortoise_sum += 3;
14         if(i % 10 == 0){
15             if(rabbit_sum > tortoise_sum){
16                 if(i + 30 <= t){//判斷往后走30分鍾是否會超出規定的時間!!
17                     tortoise_sum += 90;
18                     i += 30;
19                 }
20                 else{
21                     tortoise_sum += 3 * (t - i);
22                     i += (t - i);
23                 }
24             }
25             else{
26                 if(i + 10 <= t){
27                     rabbit_sum += 90;
28                     tortoise_sum += 30;
29                     i += 10;
30                 }
31                 else{
32                     rabbit_sum += 9 * (t - i);
33                     tortoise_sum += 3 * (t - i);
34                     i += (t - i);
35                 }
36             }
37         }
38     }
39     if(rabbit_sum > tortoise_sum){
40         printf("^_^ %d\n",rabbit_sum);
41     }
42     else if(rabbit_sum < tortoise_sum){
43         printf("@_@ %d\n",tortoise_sum);
44     }
45     else{//平局也要輸出距離
46         printf("-_- %d\n",tortoise_sum);
47     }
48     return 0;
49 }
View Code

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM