博弈:巴什博奕(Bash Game)威佐夫博奕(Wythoff Game)尼姆博奕(Nimm Game)

巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。最后取光者得胜

对于巴什博弈可以考虑:n=(m+1)*k+s,即如果n%(m+1)!=0则先取者只需取走s物品即可保证获胜。

HDU 1846:裸的。

#include
#include
#include
#include
#include
typedef long long LL;
using namespace std;
int t,n,m;

int main()
{
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        if(n%(m+1))
            cout<<"first"<

HDU 2147 :变形

#include
#include
#include
#include
#include
typedef long long LL;
using namespace std;
int n,m;
int main()
{
    while(cin>>n>>m)
    {
        if(n==0&&m==0)
            break;
        if((n-1)%2||(m-1)%2)
            cout<<"Wonderful!"<


 HDU 2149 

#include
#include
#include
#include
#include
typedef long long LL;
using namespace std;
int n,m;
int num[1100];
int main()
{
    while(cin>>n>>m)
    {
        if(n<=m)
        {
            for(int i=n;i<=m;i++)
                printf(i==m?"%d\n":"%d ",i);
        }
        else
        {
            if(n%(m+1)==0)
                printf("none\n");
            else
                printf("%d\n",n%(m+1));
        }
    }
    return 0;
}

威佐夫博奕(Wythoff Game):有两堆各若干个物品,两个人轮流从某一堆或同时从两堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜。奇异局势(必败局势):a=k*(1+sqt(5.0))/2,b=a+k,带入有a=(b-a)*((1+sqt(5.0))/2).

HDU 1527 

#include
#include
#include
#include
#include
#include
typedef long long LL;
using namespace std;
int main()
{
    int a,b;
    double q;
    while(cin>>a>>b)
    {
        if(a>b)   swap(a,b);
        q=(1+sqrt(5.0))/2;
        if(a==(int)((b-a)*q))
            cout<<0<

尼姆博奕(Nimm Game有三堆各若干个物品
,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。

,我们用(a,b,c)表示某种局势,首先(0,0,0)显然是奇异局势,无论谁面对奇异局势,都必然失败。第二种奇异局势是(0,n,n),只要与对手拿走一样多的物品,最后都将导致(0,0,0)。仔细分析一下,(1,2,3)也是奇异局势,无论对手如何拿,接下来都可以变为(0,n,n)的情形。

HDU 1850:

#include
#include
#include
#include
#include
#include
typedef long long LL;
using namespace std;
int num[110];
int main()
{
    int n,t;
    while(cin>>n&&n)
    {
        t=0;
        for(int i=0;i>num[i];
            t=(t^num[i]);
        }
        int cnt=0;
        for(int i=0;i

待续......


你可能感兴趣的:(博弈)