生活随笔
收集整理的這篇文章主要介紹了
hdu_2188
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
巴什博弈:只有一堆n個物品,兩個人輪流從這堆物品中取物,規定每次至少取一個,最多取m個。最后取光者得勝。
顯然,如果n=m+1,那么由于一次最多只能取m個,所以,無論先取者拿走多少個,后取者都能夠一次拿走剩余的物品,后者取勝。因此我們發現了如何取勝的法則:如果n=(m+1)r+s,(r為任意自然數,s≤m),那么先取者要拿走s個物品,如果后取者拿走k(≤m)個,那么先取者再拿走m+1-k個,結果剩下(m+1)(r-1)個,以后保持這樣的取法,那么先取者肯定獲勝。總之,要保持給對手留下(m+1)的倍數,就能最后獲勝。
這個游戲還可以有一種變相的玩法:兩個人輪流報數,每次至少報一個,最多報十個,誰能報到100者勝。
對于四川同胞遭受的災難,全國人民紛紛伸出援助之手,幾乎每個省市都派出了大量的救援人員,這其中包括搶險救災的武警部隊,治療和防疫的醫護人員,以及進行心理疏導的心理學專家。根據要求,我校也有一個奔赴災區救災的名額,由于廣大師生報名踴躍,學校不得不進行選拔來決定最后的人選。經過多輪的考核,形勢逐漸明朗,最后的名額將在“林隊”和“徐隊”之間產生。但是很巧合,2個人的簡歷幾乎一模一樣,這讓主持選拔的8600很是為難。無奈,他決定通過捐款來決定兩人誰能入選。?
選拔規則如下:?
1、最初的捐款箱是空的;?
2、兩人輪流捐款,每次捐款額必須為正整數,并且每人每次捐款最多不超過m元(1<=m<=10)。?
3、最先使得總捐款額達到或者超過n元(0<n<10000)的一方為勝者,則其可以親赴災區服務。?
我們知道,兩人都很想入選志愿者名單,并且都是非常聰明的人,假設林隊先捐,請你判斷誰能入選最后的名單??
Input
輸入數據首先包含一個正整數C,表示包含C組測試用例,然后是C行數據,每行包含兩個正整數n,m,n和m的含義參見上面提到的規則。
Output
對于每組測試數據,如果林隊能入選,請輸出字符串"Grass", 如果徐隊能入選,請輸出字符串"Rabbit",每個實例的輸出占一行。
Sample Input
2
8 10
11 10
Sample Output
Grass
Rabbit #include <iostream>
using namespace std;
int main()
{int i;cin>>i;while(i--){int m,n;cin>>n>>m;if(n%(m+1)!=0)cout<<"Grass"<<endl;elsecout<<"Rabbit"<<endl;}return 0;
}
總結
以上是生活随笔為你收集整理的hdu_2188的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。