巴什博弈:Brave Game
Posted liuzhaojun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了巴什博弈:Brave Game相关的知识,希望对你有一定的参考价值。
我国民间有个古老的游戏:就是有物品若干堆,(物品可以是火柴,围棋都可以)。
两个人轮流从堆中取若干件,规定取光物体者为胜。这个就是我们今天要研究的组合游戏。
#include<iostream> using namespace std; int main() { int t,n,m; cin>>t; while(t--) { cin>>n>>m; if(n%(m+1)!=0) cout<<"first"<<endl; else cout<<"second"<<endl; } return 0; }
http://acm.hdu.edu.cn/showproblem.php?pid=1846
证明:
假设n=m+1
那先取者必赢
那如果n=(m+1)*r+s
甲取s个
乙取k个
甲再取(m+1-k)(这很关键)
那n=(m+1)*(r-1)
so 如果能使n==(m+1)*r+s
那么先取者必赢
以上是关于巴什博弈:Brave Game的主要内容,如果未能解决你的问题,请参考以下文章