• UVA 12293 Box Game


    UVA_12299

        首先分析简单的情况,数字代表最大堆,2必胜,3必输,4必胜,……其实偶数必胜是显然的,但奇数就不好说了,于是我们换个角度考虑。

        如果说3必输的话,那么最后能把最大堆是3的情况留给Bob那么自己必然会赢,而能确保最大堆是3的情况就只有4、5、6了,而对于7,无论自己如何设置,都会把4、5、6其中的一个留给Bob,故自己必输。

        同理,7必输的话,把7留给Bob就必胜,于是……

        这样推完,其实Bob能赢的情况就是在n=2^k-1(k = 2, 3, 4,…)的时候,其他时候Alice都是必胜的。

    #include<stdio.h>
    int main()
    {
    int n;
    for(;;)
    {
    scanf("%d", &n);
    if(!n)
    break;
    ++ n;
    if((n & (n - 1)))
    printf("Alice\n");
    else
    printf("Bob\n");
    }
    return 0;
    }



  • 相关阅读:
    Vue3.0实战项目
    Vue 笔试题(做对九题即可成为前端懂王)
    CSS 响应式布局---Grid 布局
    CSS快速提升技巧(一)
    前端骨架屏
    Python学习29
    Python学习28
    Python学习27
    Python学习26
    Python学习25
  • 原文地址:https://www.cnblogs.com/staginner/p/2230914.html
Copyright © 2020-2023  润新知