演算法學習之路|歐幾里得遊戲
小明和小紅在玩歐幾里得遊戲。他們從兩個自然數開始,第一個玩家小明,從兩個數的較大數中減去較小數的儘可能大的正整數倍,只要差為非負即可。然後,第二個玩家小紅,對得到的兩個數進行同樣的操作,然後又是小明。就這樣輪流進行遊戲,直至某個玩家將較大數減去較小數的某個倍數之後差為0為止,此時遊戲結束,該玩家就是勝利者。
輸入格式
輸入包含多組測試資料。每組輸入兩個正整數,表示遊戲一開始的兩個數,遊戲總是小明先開始。
當輸入兩個0的時候,輸入結束。
輸出格式
對於每組輸入,輸出最後的勝者,我們認為他們兩個都是頂尖高手,每一步遊戲都做出了最佳的選擇。
具體輸出格式見輸出樣例。
樣例輸入
34 12
15 24
0 0
樣例輸出
xiaoming wins
xiaohong wins
解題思路
簡單博弈題:誰能拿到主動權誰就能掌握勝局(畢竟兩人都絕頂聰明),拿到主動權的意思就是你有多種選擇,也就是大數是小數的兩倍以上。
#include<stdio.h>
int main()
{
int a,b,flag,t;
while(scanf("%d%d",&a,&b)!=EOF&&a&&b)
{
flag=0;
while(a!=b)
{
if(a<b)
{
t=a;
a=b;
b=t;
}
flag++;
if(a/b>=2)
{
break;
}
a=a-b;
}
if(flag%2==0)
printf("xiaohong wins
");
else
printf("xiaoming wins
");
}
}
相關文章
- 類歐幾里得演算法學習筆記演算法筆記
- 歐幾里得演算法與 EX演算法
- 萬能歐幾里得演算法演算法
- [待更新]歐幾里得演算法(輾轉相除法)與擴充歐幾里得演算法演算法
- 數論學習筆記 (4):擴充套件歐幾里得演算法筆記套件演算法
- 歐幾里德的遊戲遊戲
- 擴充套件歐幾里得套件
- 演算法設計與分析-01歐幾里得演算法
- 淺談擴充套件歐幾里得演算法套件演算法
- 擴充套件歐幾里得演算法公式快速推導套件演算法公式
- Python如何用歐幾里得求逆元Python
- 輾轉相除法(歐幾里得演算法)(gcd)模板及其原理演算法GC
- 28、(向量)歐幾里得距離計算
- 求最大公公約數(最大公因數)—— 歐幾里得演算法演算法
- 第六章 數學問題 -------- 6.5 歐幾里得演算法及其擴充套件演算法套件
- CCF NOI 1028 判斷互質 :利用歐幾里得演算法最大公因數演算法
- 洛谷 P6362 平面歐幾里得最小生成樹
- 尤拉函式、整除分塊和擴充套件歐幾里得函式套件
- C++等差數列(數論、歐幾里得輾轉相除gcd)C++GC
- 第六章 數學問題 -------- 6.7【擴充套件歐幾里得】一步之遙套件
- 來學習開發一個網頁版馬里奧小遊戲吧網頁遊戲
- 將帶標籤的點雲輸入並進行歐幾里得聚類處理(自定義點雲)聚類
- 萬里GreatDB資料庫的學習之路--GreatDB 叢集管理(5)資料庫
- 強化學習之路一 QLearning 演算法強化學習演算法
- 2.5天完成1年的MD計算?DeepMind團隊基於歐幾里得Transformer的新計算方法ORM
- 手把手搭建遊戲AI—如何使用深度學習搞定《流放之路》遊戲AI深度學習
- 小白機器學習基礎演算法學習必經之路(下)機器學習演算法
- 萬里GreatDB資料庫的學習之路--GreatDB備份與恢復(4)資料庫
- 最佳案例 | 遊戲知幾 AI 助手的雲原生容器化之路遊戲AI
- 【演算法學習筆記】博弈論淺析之遊戲類演算法筆記遊戲
- 萬里GreatDB資料庫的學習之路--GreatDB儲存過程管理介面(6)資料庫儲存過程
- Spark/Scala實現推薦系統中的相似度演算法(歐幾里得距離、皮爾遜相關係數、餘弦相似度:附實現程式碼)Spark演算法
- 【演算法】遊戲中的學習,使用c#物件導向特性控制遊戲角色移動演算法遊戲C#物件
- 說到管理遊戲IP,歐美大廠也得向日本人取經遊戲
- eggjs學習之路JS
- java學習之路Java
- Pytest學習之路
- 萬里GreatDB資料庫的學習之路--GreatDB資料庫的管理和使用(2)資料庫
- 機器學習&深度學習之路機器學習深度學習