您好,登錄后才能下訂單哦!
這篇文章主要介紹SpringBoot整合MybatisPlus如何實現龜兔賽跑預測,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
話說這個世界上有各種各樣的兔子和烏龜,但是研究發現,所有的兔子和烏龜都有一個共同的特點——喜歡賽跑。于是世界上各個角落都不斷在發生著烏龜和兔子的比賽,小華對此很感興趣,于是決定研究不同兔子和烏龜的賽跑。他發現,兔子雖然跑比烏龜快,但它們有眾所周知的毛病——驕傲且懶惰,于是在與烏龜的比賽中,一旦任一秒結束后兔子發現自己領先t米或以上,它們就會停下來休息s秒。對于不同的兔子,t,s的數值是不同的,但是所有的烏龜卻是一致——它們不到終點決不停止。
然而有些比賽相當漫長,全程觀看會耗費大量時間,而小華發現只要在每場比賽開始后記錄下兔子和烏龜的數據——兔子的速度v1(表示每秒兔子能跑v1米),烏龜的速度v2,以及兔子對應的t,s值,以及賽道的長度l——就能預測出比賽的結果。但是小華很懶,不想通過手工計算推測出比賽的結果,于是他找到了你——清華大學計算機系的高才生——請求幫助,請你寫一個程序,對于輸入的一場比賽的數據v1,v2,t,s,l,預測該場比賽的結果。
輸入格式
輸入只有一行,包含用空格隔開的五個正整數v1,v2,t,s,l,其中(v1,v2<=100;t<=300;s<=10;l<=10000且為v1,v2的公倍數)
輸出格式
輸出包含兩行,第一行輸出比賽結果——一個大寫字母“T”或“R”或“D”,分別表示烏龜獲勝,兔子獲勝,或者兩者同時到達終點。
第二行輸出一個正整數,表示獲勝者(或者雙方同時)到達終點所耗費的時間(秒數)。
這個題是一個典型的行程問題,雖然數據很多,但是思路不難分析。
(1)題目中的一個條件需要特別注意:一旦任一秒結束后兔子發現自己領先t米或以上,它們就會停下來休息s秒。
對,是在每一秒之后再去比較兔子和烏龜的距離!因此不需要考慮在一某秒內的情況。
(2)另外需要注意一種情況,在兔子等待的過程中,烏龜可能到達終點,那么這個時候就得直接跳出循環。
#include<iostream>using namespace std;int main(){ int v1=0,v2=0,t=0,s=0,l=0; cin>>v1>>v2>>t>>s>>l;int l1=0; //兔子走的距離int l2=0; //烏龜走的距離int flag_relax=0; //兔子休息標志位 while(l1<l&&l2<l){ if(l1<l2+t) l1+=v1; //兔子不休息 else flag_relax=1; //兔子休息,標志位置換 if(flag_relax){ for(int i=0;i<s;i++) //烏龜走 { l2+=v2;if(l2>=l) //烏龜到達終點,結束 ! break;} flag_relax=0; //等完s秒后,標志位清零 }else l2+=v2; }if(l1>l2) cout<<"R"<<endl;else if(l1==l2) cout<<"D"<<endl;else cout<<"T"<<endl; cout<<l2/v2; //輸出時間 return 0;}
測試結果:
以上是“SpringBoot整合MybatisPlus如何實現龜兔賽跑預測”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。