題目
題意1-n帶編號的盒子,當編號滿足a>b && a非空 && (a + b) % 3 == 0 && (a + b) % 2 == 1則可以從a中取任意卡片到b中,誰不能取了誰就輸。
思路階梯博弈
階梯博弈等效為奇數號階梯的尼姆博弈。
假設我們是先手。我們按照尼姆博弈的原則進行第一次移動。如果對方移動奇數號階梯的石子,我們繼續按照尼姆博弈的原則移動。如果對方移動的是偶數號階梯的石子,及對方將偶數號階梯的石子移動到了奇數號(對奇數號產生了影響)我們就接著將對方移動到奇數號的石子再向下移動乙個台階,移動到偶數號。這就意味著在偶數號的棋子對我們的博弈是沒有影響的。
這個題所有的對於原始階梯博弈來說 i%6=0,2,5相當於偶數 i%6=1,3,4相當於奇數
0,2,5一步只能移動到1,3,4 1,3,4除了1,3,4一步只能移動到0,2,5
**
#include using namespace std;
const int maxn = 1e6+100;
int main()
}printf("case %d: ",ca++);
if(ans ) printf("alice\n");
else printf("bob\n");
}return 0;
}
HDU 3389 階梯博弈變形
n堆石子,每次選取兩堆a b,a b 2 1 a b 3 a b,不能操作者輸 選石子堆為奇數的等價於選取步數為奇數的,觀察發現 1 3 4 是無法再移動的 步數為0,然後發現以6為週期,取模就好了 date 2017 10 14 19 18 00 filename hdu 3389 基礎階梯博弈變...
hdu 3389 Game(階梯博弈)
1 3 4號盒子是最終狀態,所有出始狀態都會經過若干步操作變成這個最終狀態。如果仔細分析,會發現 n 6 0 或 2 或 5的盒子,經過奇數步轉移到1 3 4中去,其他的則須經過偶數步才能轉移過去。易證 偶數步的不用管,對於奇數步的操作只需轉換成nim博弈,利用異或運算判斷是否必勝即可。includ...
HDU 3389 Game 階梯博弈變形
題意 編號1 n的盒子,當你的編號滿 b思路 首先要了解一下什麼是階梯博弈,參考鏈結.對於一般的階梯博弈,當到達地面 即0階 的時候就是終止條件,但是這道題由於 a b 2 1 a b 3 0這個條件的限制,所以我們可以知道只有當 a b 6 3的時候才能進行狀態轉移.這道題,我們通過畫圖可以知道,...