zoukankan      html  css  js  c++  java
  • 牛客第五场

    ------------恢复内容开始------------

    E

    博弈:

    n=1:胜
    n=2:败n=2:败n=2:败,只能是自己拿一个,对方拿一个,然后GG
    n=3:胜n=3:胜n=3:胜,自己拿一个,令对方到达n=2n=2n=2的必败点
    n=4:败n=4:败n=4:败,如图红色箭头所指两种情况,都是必败状态
    n=5:胜n=5:胜n=5:胜,拿 111 个,令对方到达n=4n=4n=4的必败点
    n=6:胜n=6:胜n=6:胜,拿 222 个,令对方到达n=4n=4n=4的必败点
    n=7:胜n=7:胜n=7:胜,拿 333 个,令对方到达n=4n=4n=4的必败点
    n=8:败n=8:败n=8:败,无论怎么拿,都会达到对方的必胜点。
    由此我们可以发现,若当前必败点为 xxx,距离下一个必败点的距离,就是 2x2x2x 位置
    也就是必败点为:2,4,8,16,32,...,2n2,4,8,16,32,...,2^n2,4,8,16,32,...,2

    正解:但凡是 2^n
    都是后手赢

    #include <bits/stdc++.h>
    using namespace std;
     
    int main()
    {
        long long n;
        scanf("%lld", &n);
        long long tmp = 2;
        for (int i = 1; i <= 60; i++)
        {
            if (tmp == n)
            {
                printf("Alice
    ");
                return 0;
            }
            tmp = tmp * 2;
        }
        printf("Bob
    ");
        return 0;
    }
    

      三分查找,简单题;

    附上之前学习的,顺便贴到之前学习的链接:https://www.cnblogs.com/hgangang/p/11787734.html

    ------------恢复内容结束------------

  • 相关阅读:
    鉴权系统的梳理及并发问题的考虑
    分布式事物解决选择
    电商平台客服和商铺的数据表设计( 初稿记录)43
    问题整理
    关于
    问题整理
    问题整理(常问3连)
    问题整理
    强引用、软引用、弱引用、幻象引用的区别
    通过aop获取切面方法请求入参名称和值的json打印
  • 原文地址:https://www.cnblogs.com/hgangang/p/12315856.html
Copyright © 2011-2022 走看看