HDOJ 2516 取石子游戲
取石子游戲
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 3701 Accepted Submission(s): 2192
Problem Description 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出"Second win".先取者勝輸出"First win".
Input 輸入有多組.每組第1行是2<=n<2^31. n=0退出.
Output 先取者負輸出"Second win". 先取者勝輸出"First win".
參看Sample Output.
Sample Input 2 13 10000 0
Sample Output Second win Second win First win
Source
Recommend lcy | We have carefully selected several similar problems for you:
被坑爹隊友稱為小學奧數題……然而我好像並沒有小學的水準[email protected]#$^&*(¥&…*#$^(*_
看了題解後寫的(……我沒想出來)
這個和斐波那契數有關,好像是比較常見的一種型別。
#include<stdio.h> int a[50]; void Fib() { int i,j; a[0]=2,a[1]=3; for(i=2;i<=45;i++) a[i]=a[i-1]+a[i-2]; } int main() { Fib(); int n,i; while(scanf("%d",&n)&&n) { for(i=0;i<=45;i++) { if(a[i]==n) break; } if(i>45) printf("First win\n"); else printf("Second win\n"); } return 0; }
相關推薦
HDOJ 2516 取石子游戲
取石子游戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 3701 Accepted Submissi
2516 取石子游戲(斐波那契)
題目: Description 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出"Second win
HDU 2516取石子游戲(巴什博弈)
取石子游戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 4093 Accepted S
HDU 2516 取石子游戲 Fib博弈
取石子游戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2344 Accepted Submission(s): 1341 Probl
hdu 2516 取石子游戲 (博弈論)
方法: 通過找規律可以發現斐波拉契數列為必敗點。 PS: 自己算結果的時候算出了幾次, 後面慢慢算才看出這個規律。。 程式碼: #include <cstdio> #include <cstring> #include <climits>
hdu 2516 取石子游戲(water)
好吧,好水的! 連公式也是某位大神賜給小弟的! ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
HDU 2516 取石子游戲 [斐波那契博弈]
博弈問題 巴士博弈 威爾夫博弈 斐波那契博弈 尼姆博弈 HDUXXX<-點選此處進入連結 公平組合博弈 取石子游戲 Time Limit: 2000/1000 MS (Java/Others)
hdu 2516 取石子游戲(組合遊戲)
題目大意:略。 解題思路:K倍動態減法,K=2的情況為斐波那契數列。 #include <cstdio> #include <cstring> #include <
HDU 2516 取石子游戲(斐波那契博弈)
當且只當n是一個斐波那契數的時候是必敗態。可以寫出幾組資料找規律就可以發現這個規律。 證明如下: 就像“Wythoff博弈”需要“Beatty定理”來幫忙一樣,這裡需要藉助“Zeckendorf定理
HDU 2516 取石子游戲 (斐波那契博弈)
大神部落格:http://blog.csdn.net/acm_cxlove/article/details/7835016 #include <iostream> #include <cstdio> #include <cstring>
hdu 2516 取石子游戲(博弈)
只要列舉一下前面十幾組資料的勝負手,就可以很明顯地看出來只有菲薄數是先手輸,其他都是先手贏。 #include<stdio.h> #include<string.h> typ
HDU 2516 取石子游戲 (博弈論)
取石子游戲 Problem Description 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出"
HDU 2516 取石子游戲(Fibonacci博弈)
問題描述 取石子游戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 8263 Accepted S
HDU 2516 取石子游戲(巴什博弈)
取石子游戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su
博弈論 ( 斐波那契博弈 )——取石子游戲 ( HDU 2516 )
分析: 遊戲規則: ① 先手不能一次取完所有石子 ② 之和每次可以取得的石子數在1~上次對方取的石子數的兩倍之間(閉區間) ③先取完的獲勝 題解: 通過數學歸納法找規律,得出必敗數。 過
hdoj 2516 取石子遊戲(Fib公式)
amp ++ cond output col size des sample == Problem Description 1堆石子有n個,兩人輪流取.先取者第1次可以取任意多個,但不能全部取完.以後每次取的石子數不能超過上次取子數的2倍。取完者勝.先取者負輸出"Secon
[BeiJing2009 WinterCamp]取石子游戲 Nim SG 函式
Code: #include<cstdio> #include<algorithm> #include<cstring> using namespace std; #define maxn 1003 int arr[13],step[13],SG[maxn]; bo
洛谷P2599||bzoj1413 [ZJOI2009]取石子游戲
bzoj1413 洛谷P2599 根本不會啊。。。 看題解吧 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<vector>
【洛谷P2252】取石子游戲
題面 題解 威佐夫博弈 程式碼 #include<cstdio> #include<algorithm> #include<cmath> #define RG register const double Phi((sqrt(5) + 1.) / 2.); int
【BZOJ1874】取石子游戲(SG函式)
題意:小H和小Z正在玩一個取石子游戲。 取石子游戲的規則是這樣的,每個人每次可以從一堆石子中取出若干個石子, 每次取石子的個數有限制,誰不能取石子時就會輸掉遊戲。 小H先進行操作, 他想問你他是否有必勝策略,如果有,第一步如何取石子 n<=10,a[i]<=1000,m<=10,b[i