hdu2188(巴什博弈)
阿新 • • 發佈:2018-03-07
圖片 close 含義 ide out bmi print img 數據
選拔規則如下:
1、最初的捐款箱是空的;
2、兩人輪流捐款,每次捐款額必須為正整數,並且每人每次捐款最多不超過m元(1<=m<=10)。
3、最先使得總捐款額達到或者超過n元(0<n<10000)的一方為勝者,則其可以親赴災區服務。
我們知道,兩人都很想入選誌願者名單,並且都是非常聰明的人,假設林隊先捐,請你判斷誰能入選最後的名單?
Input
輸入數據首先包含一個正整數C,表示包含C組測試用例,然後是C行數據,每行包含兩個正整數n,m,n和m的含義參見上面提到的規則。
first再捐m+1-x元,那麽second就會面臨(m+1)*(k-1)的局面,繼續下去,second最終會面臨
n-m-1的局面,first贏。
2.當n=(m+1)*k,k>0時,由上面分析知,second贏。
悼念512汶川大地震遇難同胞——選拔誌願者
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11092 Accepted Submission(s): 7087
選拔規則如下:
1、最初的捐款箱是空的;
2、兩人輪流捐款,每次捐款額必須為正整數,並且每人每次捐款最多不超過m元(1<=m<=10)。
3、最先使得總捐款額達到或者超過n元(0<n<10000)的一方為勝者,則其可以親赴災區服務。
我們知道,兩人都很想入選誌願者名單,並且都是非常聰明的人,假設林隊先捐,請你判斷誰能入選最後的名單?
Output 對於每組測試數據,如果林隊能入選,請輸出字符串"Grass", 如果徐隊能入選,請輸出字符串"Rabbit",每個實例的輸出占一行。
Sample Input 2 8 10 11 10 Sample Output Grass Rabbit 分析:巴什博弈。 當要捐款的人面臨局勢n-m-1時,ta必輸無疑,因此每個人都想辦法讓對方面臨該局面。 1.當n=(m+1)*k+res,k>=0,1<=res<=m,的時候,first先捐res元,second再捐x元(0<x<=m),
#include<cstdio> int main() { int n,m,T; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); if(n%(m+1)) printf("Grass\n"); elseView Codeprintf("Rabbit\n"); } return 0; }
hdu2188(巴什博弈)