給你乙個n∗m的棋盤,然後給你4種棋子,分別是:
1.王:能橫著走,或者豎著走,或者斜著走,每次可以走1格
2.車:可以橫著走或者豎著走,每次可以走無數格
3.馬:走日字形,例如:如果現在在(1,1),可以走到(2,3),即先走一格直線,然後斜著走一格
4.王后:可以橫著走,或者豎著走,或者斜著走,每次可以走無數格 所有棋子在走的時候只能向右或向下走,不可後退,誰先走到(n,m)點,誰贏.
王就是把必勝必敗寫出來發現只和兩堆的奇偶性有關
車就是兩堆石子誰先取完,異或起來
馬的話手推一下發現只有當3|(n+m-2)時有勝負,如果兩堆差值為1那麼先手勝,相等先手負
後就是威佐夫博弈
code:
#include
using
namespace std;
intmain()
case2:
case3:
break;}
default:}
}return0;
}
博弈論 Nim博弈
1.nim博弈的起源很早,至於歷史我們就不再說了,直接說它的使用場景。1 依舊是兩個人博弈,但是物品時n堆,每一堆有ai個。2 每個人可以挑選一堆取走若干個,但是不能不取。3 最先取完所有物品的人獲勝。4 結論 所以堆的物品的數量異或起來是0,先手必敗。2.乙個nim博弈的例項 nim博弈。乍一看這...
Nim博弈(博弈論)
1.題目 給定n堆石子,兩位玩家輪流操作,每次操作可以從任意一堆石子中拿走任意數量的石子 可以拿完,但不能不拿 最後無法進行操作的人視為失敗。問如果兩人都採用最優策略,先手是否必勝。思路 必勝狀態 a1 a2 an 0 可以走到某乙個必敗狀態 必敗狀態 a1 a2 an 0 走不到任何乙個必敗狀態 ...
博弈論 Bash博弈
首先談一下最簡單的bash博弈。bash博弈是這樣的 兩個人,n個物品,每個人每次都可以取走1 m個物品,取走最後乙個物品的人勝利。問先手在什麼條件下必勝。include define ll long long define inf 0x3f3f3f3f define fi first define...