![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
博弈专项
人面桃花相映红
BNU student
展开
-
nyoj 23 取石子(一)
这里写图片描述巴什博奕必胜游戏流程: 每次取保持给对手留下(m+1)的倍数(取走n%(m+1)) #include<stdio.h> int main() { int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d %d",&n,&m); printf("%s\n",n%(原创 2017-04-03 21:05:10 · 168 阅读 · 0 评论 -
约瑟夫环问题
第二种方法的思路: 无论是用链表实现还是用数组实现都有一个共同点:要模拟整个游戏过程,不仅程序写起来比较烦,而且时间复杂度高达O(nm),当n,m非常大(例如上百万,上千万)的时候,几乎是没有办法在短时间内出结果的。我们注意到原问题仅仅是要求出最后的胜利者的序号,而不是要读者模拟整个过程。因此如果要追求效率,就要打破常规,实施一点数学策略。为了讨论方便,先把问题稍微改变一下,并不影响原意: 问题原创 2017-04-05 16:32:23 · 239 阅读 · 0 评论