zoukankan      html  css  js  c++  java
  • [poj1067]取石子游戏

    首先有SG(x,y)=mex(SG(x-a,y-a),SG(x-a,y),SG(x,y-a)),其中SG(0,0)=0,打表发现(1,2)(3,5)(4,7)(6,10)(8,13)……时SG0(即必败),假设第一项是ai,第二项是bi,很容易发现:1.bi=ai+i2.ai=mex(bi,bj,0)

    通过暴力可以求出$\sum\limits_{i=10001}^{20000}ai/i/10000=1.61800$,而这个数也就是黄金分割比,因此可以得出$ai=(1+\sqrt{5})/2\cdot i$,据此判断a和$((1+\sqrt{5})/2)\cdot (b-a))$是否相等即可。

     1 #include<cstdio>
     2 #include<algorithm>
     3 #include<cmath>
     4 using namespace std;
     5 int a,b;
     6 int main(){
     7    while (scanf("%d%d",&a,&b)!=EOF){
     8       if (a>b)swap(a,b);
     9       printf("%d\n",(floor((b-a)*(1+sqrt(5.0))/2)!=a));
    10    }
    11 }
    View Code
  • 相关阅读:
    Less-21
    Less-22
    Less-21
    Less-20
    ssrf redis gopher
    Less19
    Less18
    Arm 系统查看、修改系统时间
    通过 grpc 请求标头发送自定义数据
    gRpc 空参数
  • 原文地址:https://www.cnblogs.com/PYWBKTDA/p/11254666.html
Copyright © 2011-2022 走看看