zoukankan      html  css  js  c++  java
  • poj 1067取石子(威佐夫博奕)

    /*

    *威佐夫博奕(Wythoff Game): 有两堆各若干个物品,两个人轮流从某一堆或同时从两

    *堆中取同样多的物品,规定每次至少取一个,多者不限,最后取光者得胜.

    *(ak,bk)(ak bk ,k=0,1,2,...,n)表示两堆物品的数量,则

    *奇异局面(先手必败, P-Position) ak =[k(1+5)/2], bk= ak + k (k=0,1,2,...,n 方括

    *号表示取整函数)

    */

     

     1 #include<iostream>
     2 #include<cmath>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     double arph=(sqrt(5.0)+1.0)/2.0;//黄金分割数
     8     int a,b;
     9     while (cin>>a>>b)
    10     {
    11         if (b<a) swap(a,b);
    12         int n=b-a;
    13         int c=floor(n*arph);
    14         if (c==a) cout<<0<<endl;
    15         else cout<<1<<endl;
    16     }
    17     return 0;
    18 }
  • 相关阅读:
    jdk1.8安装与配置
    java编译器——idea的安装
    原型设计作业
    案例分析作业
    202103226-1 编程作业
    阅读任务
    准备工作
    java课程总结
    第十四周总结
    第十三周总结
  • 原文地址:https://www.cnblogs.com/redlight/p/2445314.html
Copyright © 2011-2022 走看看