链接:https://www.nowcoder.com/acm/contest/190/B
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

Alice和Bob产生了不可调节的矛盾,于是他们相约一起玩一个自杀游戏,输的人就会从这个世界上消失。

游戏开始时,Alice手上拿着一个定时炸弹,炸弹有个倒计时t。炸弹在t=0时刻会爆炸,此时手上拿着炸弹的人会从这个世界上消失。为了增加游戏乐趣,他们约定每个人拿到炸弹后可以选择将炸弹的时间调快d秒(d ∈ [a,b]),或者不调。每次交换炸弹会消耗1秒(假设调节炸弹时间不需要消耗时间)。

问题来了,如果双方都足够聪明,谁会活下去呢?

输入描述:

第一行有三个整数t,a,b,分别表示炸弹初始时刻的倒计时,可调节时间的范围。(0 ≤ t ≤ 105,1 ≤ a ≤ b ≤ 10)

输出描述:

若Alice存活则输出"Alice",若Bob存活则输出"Bob"。

示例1

输入

复制

6 3 4

输出

复制

Alice

说明

Alice只需要将炸弹调快3秒后再给Bob,Bob就会拿到一个2秒后爆炸的炸弹。

记得每次调节后交换的1S要考虑到 f 数组里,还有a,b范围


#include<bits/stdc++.h>
//#include <iostream>
//#pragma GCC optimize(2)
using namespace std;
#define maxn 100005
#define inf 1e18
typedef long long ll;
const ll mod = 1e9+7;
ll t,a,b,sg[maxn],f[15];
bool s[maxn];
void getsg(ll x)
{for(ll i = 1;i <= x; i++){memset(s,0,sizeof(s));for(ll j = a-1; f[j]<=i && j<=b; j++)s[ sg[ i-f[j]  ]   ] = 1;for(ll j = 0; ; j++)if(!s[j]){sg[i] = j;break;}}return ;
}
int main()
{ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);cin >> t >> a >> b;for(ll i = a; i <= b; i++) //注意f[i] = i+1;f[a-1] = 1;getsg(maxn);if(sg[t])cout << "Alice" << endl;elsecout << "Bob" << endl;return 0;
}

牛客小白赛7 B自杀游戏 (博弈论,SG函数)相关推荐

  1. 牛客小白月赛7 B自杀游戏(sg博弈)

    sg博弈结论为,下个状态sg的补集的最小值. 题目 #include<bits/stdc++.h> using namespace std; const int maxn=1e5+9; b ...

  2. 牛客小白月赛7 B 自杀游戏

    自杀游戏 思路: sg函数 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include&l ...

  3. 牛客小白赛190615场

    夜色已经很晚了,所以我长话短说 1.表单 链接:https://ac.nowcoder.com/acm/contest/917/C 来源:牛客网 输入描述: 第一行两个整数n,Q 后n行每行一个字符串 ...

  4. 题解——牛客网Wannafly挑战赛23 B-游戏 (SG函数)

    前言 比赛的时候没学过SG函数的蒟蒻以为是道结论题,但是不是QwQ 和dummyummy巨佬一起推了快三个小时的规律 最后去问了真正的巨佬__stdcall __stdcall面带微笑的告诉我们,这是 ...

  5. 【NOI模拟赛】纸老虎博弈(博弈论SG函数,长链剖分)

    题面 某天,C 和 K 觉得很无聊,于是决定玩一个经典小游戏: 在一棵有 nnn 个结点的有根树上,标号为 iii 的节点上有 aia_iai​ 个棋子.游戏时玩家轮流操作,每次可以将任意一个节点 u ...

  6. [AcWing] 1319.移棋子游戏 博弈论 Sg函数板子题

    题目链接:1319.移棋子游戏 题解 好久没写博弈论的题了,写几道复习一下,博弈论SG主要由两大部分组成:SG函数和SG定理 SG(x)=mex(S),其中S是x的后继状态的SG函数值集合,mex(S ...

  7. 牛客小白赛60(F.被抓住的小竹)61(E.排队)(数学+推公式)

    文章目录 前言 逆序对是典型题,常用统计数组内逆序对用树状数组.但是求排列中的总逆序对数量需要利用组合数学推导公式. F.被抓住的小竹 E.排队 总结 前言 逆序对是典型题,常用统计数组内逆序对用树状 ...

  8. 牛客小白月赛3 C.博弈

    牛客小白月赛3 C.博弈 题目链接 题目描述 XHRlyb 在和 Cwbc 玩游戏. 在一个多重集合中有在 [l,r] 中的全部整数各一个,即 l,l+1,l+2,......,rl,l+1,l+2, ...

  9. 牛客小白月赛3 B.躲藏

    牛客小白月赛3 B.躲藏 题目链接 题目描述 XHRlyb和她的小伙伴Cwbc在玩捉迷藏游戏. Cwbc藏在多个不区分大小写的字符串中. 好奇的XHRlyb想知道,在每个字符串中Cwbc作为子序列分别 ...

最新文章

  1. VMware提示:已将该虚拟机配置为使用 64 位客户机操作系统。但是,无法执行 64 位操作。解决方案
  2. github建站之路
  3. VTK修炼之道37:图像平滑_高斯滤波器
  4. Cisco C2960 升级IOS
  5. 使用 VMControl 2.4 实现多网络的 Power 服务器捕捉和系统部署
  6. 微信小程序 高德地图知道两点求道路_微信小程序——计算2点之间的距离
  7. 前端笔记-对webpack和vue的基本认识
  8. 郁闷的开始--8月21日
  9. 彩虹云商城 最新彩虹代刷V6.9.0免授权纯净完整版
  10. 十天学会单片机Day4串行口通信
  11. 2021年度国内网络安全事件总结
  12. 5位数的数字黑洞是多少_数字黑洞求解问题
  13. 机器学习:02 特征工程和决策树回归
  14. LaTeX论文图片排版
  15. ReactNative常用插件使用
  16. jupyter notebook如何打开md文件
  17. ORA-01400: cannot insert NULL into | 通过SQL链接服务器 往Oracle库的表中 插入默认值问题
  18. Appium学习笔记17-手机操作API之分辨率
  19. 对象(创建对象、构造函数)
  20. JAVA知识体系之分布式篇(七)——Redis

热门文章

  1. Nginx网页与安全优化
  2. 斐波那契数列|||川(马蹄集)
  3. 1672 疯狂的科学家(贪心)
  4. Bootstrap 定制和修改方法-perfect
  5. 【面经】腾讯和YY实习生面试总结
  6. 粒子系统与流动效果——HW7
  7. 笔记本电脑为什么关不了机
  8. 程序员那些装13的面具 有中枪的没?(转)
  9. linux vim编辑文本是 m,Linux编辑器之VIM
  10. 炫酷3D动态照片墙表白页html源码