Enjoy the game
这真的只是一道规律题
我找到规律了但是因为数据太大了我超时了
我们现在来看一下这道题
牛牛战队的三个队员在训练之余会自己口胡了一些题当做平时的益智游戏。有一天牛可乐想出了一个小游戏给另外两名队员玩,游戏规则如下:
- 初始一共有n张卡牌
- 先手第一步最少要拿1张牌,最多要拿n−1张牌。
- 接下来每一步,双方最少要拿1张牌,最多拿等同于上一步对方拿的牌数的牌。
- 拿走最后一张牌的人将取得游戏的胜利。
你作为旁观者,看着他们玩的很开心,想参与到这场游戏中来,赌一赌谁会能赢。
贴一下我的垃圾代码这是不对的大家不要模仿!!!!
#include<iostream> #include<algorithm> #include<cmath> using namespace std; int main() { int n; cin >> n; for(int i=2;i<=n;i*=2) { if(i==n) { cout << "Alice"; return 0; } } cout << "Bob"; return 0; }
再来看看AC代码:
#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\n"); return 0; } tmp = tmp * 2; } printf("Bob\n"); return 0;
我感觉你在,你在无中生有,暗度陈仓,凭空想象,凭空捏造,…¥%#…¥#*)*)&*&!#@