zoukankan      html  css  js  c++  java
  • 博弈论

    1.巴什博弈,在一堆东西n中取1~m个,不能不取,最后取完的人赢,只要n不是m+1的整数倍都能赢,

    bool (int n,int m)
    {
        if(n%(m+1)==0) return false;
        return true;
    }
    

    2.Nim博弈,n堆东西中取,每次取任意个,最后取完的人赢,这个需要亦或处理,若全部值亦或为0则必输,不为0则必赢;

    然后只需要,将大于亦或值位数最高的任意一组,变成与亦或值亦或就可以了;

    3斐波那契博弈,有一堆物品,两人轮流取物品,先手最少取一个,至多无上限,但不能把物品取完,之后每次取的物品数不能超过上一次取的物品数的二倍且至少为一件,取走最后一件物品的人获胜。

    如果是斐波那契数列中的值,则第二个人赢,否则第一个人赢;

            ll a[100];
            a[0]=1,a[1]=2;
    	for(int i=2;i<=50;i++)
    	a[i]=a[i-1]+a[i-2];
            ll n;
            cin>>n;
    	if(n==0)return 0;
    	for( i=1;i<=46;i++)
    	{
    		if(a[i]==n)
    		break;
    	}
    	if(i<47)
    	    cout<<"Second win"<<endl;
    	else
    	    cout<<"First win"<<endl;
    
  • 相关阅读:
    vrf
    安装diskimage-builder制作ironic镜像
    打印bios启动日志
    iproute2更新
    ip link add type vrf报错哦
    ip link add type vrf报错哦
    case 条件语句
    Go项目结构
    MySQL与Python交互
    数据提取之JSON与JsonPATH
  • 原文地址:https://www.cnblogs.com/wzl19981116/p/9365568.html
Copyright © 2011-2022 走看看