首页 > 代码库 > hdu--1851--尼姆博弈&&巴什博弈<也有人用了sg可惜我还不懂>

hdu--1851--尼姆博弈&&巴什博弈<也有人用了sg可惜我还不懂>

这题 出的很好的...

将nim和bash这2个经典的博弈策略结合在了一起

简要说下 上面这2个博弈适用的条件

bash:

只有一堆物品个数为n 两个人轮流从这堆物品中提取 规定每次至少取一个 最多取m个 谁取完最后一次 就算谁获胜

nim:

有三堆物品 两个人轮流从任意一堆中取任意数量的物品 最少一个 谁取完最后一次 就算谁获胜

 

但我不太会分析 我觉得博弈是很有意思的一块内容.. 我去网上找了下 好点的博弈介绍

传送

 1 #include <iostream> 2 using namespace std; 3  4 int main() 5 { 6     int t , n , x , y , ans; 7     cin >> t; 8     while(t--) 9     {10         ans = 0;11         cin >> n;12         while(n--)13         {14             cin >> x >> y;15             ans ^= x%(y+1);16         }17         if(ans)18             cout << "No" << endl;19         else20             cout << "Yes" << endl;21     }22     return 0;23 }
View Code

 

另外 这题也有人用了sg函数做了出来 但我对于sg还没有搞明白 觉得蛮难的...

 

today:

  今天 看了 十二道峰味

  霆锋还是那么帅...

  我仅喜欢的2个娱乐圈明星---周杰伦.谢霆锋

 

hdu--1851--尼姆博弈&&巴什博弈<也有人用了sg可惜我还不懂>