51Nod1072 威佐夫遊戲(博弈論的黃金分割理論)
這道題主要考博弈論的Wythoff Game的黃金分割理論:有一個推論,k=b-a,如果a=k*黃金分割數,則當前局勢為奇異局,既先手必輸。
ps:黃金分割數:(根號5+1)/2
#include<iostream> #include<cstdio> #include<cmath> using namespace std; int main() { int T; cin>>T; while(T--) { int a,b; cin>>a>>b; if(a>b) { int t; t=a; a=b; b=t; } int k=b-a; int ans=(int)(k*(1+sqrt(5))/2.0); //(1+sqrt(5))/2.0黃金分割數 if(a==ans) cout<<"B"<<endl; else cout<<"A"<<endl; } return 0; }
相關推薦
51Nod1072 威佐夫遊戲(博弈論的黃金分割理論)
這道題主要考博弈論的Wythoff Game的黃金分割理論:有一個推論,k=b-a,如果a=k*黃金分割數,則當前局勢為奇異局,既先手必輸。 ps:黃金分割數:(根號5+1)/2 #include&
51Nod 1072:威佐夫遊戲 (威佐夫博奕)
基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關注 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出
acm威佐夫博弈(裸題程式碼)
題目: 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是可以在兩堆中同時取走相同數量的石子。最後把石子全部取完者為勝者。現在給出初始的兩堆石子的數目,如果輪到你先取,假設雙方都採取最好
51NOD 1185 威佐夫遊戲 V2(博弈論 + 減少精度)
傳送門 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子
51nod1185 威佐夫遊戲 V2 (模擬乘法)
基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關注 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出
51nod 1185 威佐夫遊戲 V2(威佐夫博弈)
基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關注 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明
51NOD 1072 威佐夫遊戲
gif main nco std bsp 遊戲 pre opened n) 1072 威佐夫遊戲 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非
51Nod 1185 威佐夫遊戲 V2
clas line www. esp string name http namespace put 題目鏈接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1185 有2堆石子。A B
51NOD 1185 威佐夫遊戲 V2(威佐夫博弈)
過程 question 個數 ima gpo char ont emp IT 1185 威佐夫遊戲 V2 基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關註 有2堆石子。A B兩個人輪流拿,
51Nod-1072-威佐夫遊戲
有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,問最後誰能贏得比賽。 例如:2堆石子分別為3顆和5顆。那麼不論A怎樣拿,B
51 Nod 1072 威佐夫遊戲
#include<bits/stdc++.h> #include<stdio.h> #include<iostream> #include<cmath> #include<math.h> #include&
51 nod 1185 威佐夫遊戲 V2 (高精度,模擬)
基準時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題 收藏 關注 有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出
模擬乘法-51nod1185 威佐夫遊戲 V2
思路: 因為數字過大,那麼1.618後面的諸多位小數也會對其產生影響,那麼將1.618後面諸多小數提取出來,模擬乘法 模擬乘法: 普通的a*b 手動托出乘法運算,對應位數運算,最後只要拿出對於整數有影
51nod 1072 威佐夫遊戲V1
有2堆石子。A B兩個人輪流拿,A先拿。每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取。拿到最後1顆石子的人獲勝。假設A B都非常聰明,拿石子的過程中不會出現失誤。給出2堆石子的數量,
1072 威佐夫遊戲(威佐夫博弈模板)
/* Wythoff Game:黃金分割 先取完者贏 威佐夫博弈:每次可以從一堆中取任意個或從2堆中取相同數量的石子,但不可不取 一個局面,讓你求是先手輸贏:差值 * 1.618 == 最小值的話後手
51nod oj 1072 威佐夫遊戲 1185 威佐夫遊戲 V2【威佐夫博奕】
威佐夫博奕(Wythoff Game):有兩堆各若干個物品,兩個人輪流從某一堆或同 時從兩堆中取同樣多的物品,規定每次至少取一個,多者不限,最後取光者得勝。 這種情況下是頗為複雜的。我們用(ak,bk)(ak ≤ bk ,k=0,1,2,...,n)表示 兩堆物品的數量並稱其為局勢,如果甲面對(0,0
BZOJ 3105 新Nim遊戲(博弈論+線性基)
Description 傳統的Nim遊戲是這樣的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴數量可以不同)。兩個遊戲者輪流操作,每次可以選一個火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同時從超過一堆火柴中拿。拿走最後一根火柴的遊戲者勝利
POJ1067 取石子遊戲 威佐夫博弈 博弈論
輸出 策略 open splay 整數 aps .com targe 一是 http://poj.org/problem?id=1067 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的石子;二是
HDU 1527 取石子遊戲(威佐夫博弈)
其中 main AC strong 大於 ron center bmi Go 取石子遊戲 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su
HDU2177 取(2堆)石子遊戲(威佐夫博弈)
代碼 mat swap 輸出 tor pro pri 取石子 desc HDU2177 取(2堆)石子遊戲 Problem Description 有兩堆石子,數量任意,可以不同。遊戲開始由兩個人輪流取石子。遊戲規定,每次有兩種不同的取法,一是可以在任意的一堆中取走任意多的