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;
    
  • 相关阅读:
    iframe
    daterangepicker 时间区间选择
    刷新父窗口
    echars
    原生http请求封装
    css布局方式总结
    js获取http请求响应头信息
    js事件循环机制 (Event Loop)
    http协议的状态码
    javaScript函数节流与函数防抖
  • 原文地址:https://www.cnblogs.com/wzl19981116/p/9365568.html
Copyright © 2011-2022 走看看