HDU 3389
对于这道题,我们需要从(A+B)%3==0这式子考虑。对于第一条式子,我们可以知道,只能是奇偶盒子交替转移。
由第二条式子可知,要么是同余为0的A,B之间转移,要么是余数为1,2之间的 转移。后来仔细比对发现,同余为0的只能是一条路径(即只能在同余为0之间转移)内。对于1,2之间的转移,恰好是两条路径分别是以1,2开始的一条和以4,5盒子开始的一条。三条路径是不相交的。于是,分别是三个单独的SG游戏。
利用梯阶博弈分别对三条路径进行求SG即可。
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std; const int MAX=;
int a[MAX],n; int main(){
int cas; int t=;
scanf("%d",&cas);
while(++t<=cas){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&a[i]);
}
int sum=,cnt=-;
for(int i=;i<=n;i+=){
cnt++;
if(cnt&)
sum^=a[i];
}
cnt=-;
for(int i=;i<=n;i+=){
for(int k=;k<&&i+k<=n;k++){
cnt++;
i+=k;
if(cnt&)
sum^=a[i];
}
}
cnt=-;
for(int i=;i<=n;i+=){
for(int k=;k<&&i+k<=n;k++){
cnt++;
i+=k;
if(cnt&)
sum^=a[i];
}
}
if(sum)
printf("Case %d: Alice\n",t);
else
printf("Case %d: Bob\n",t);
}
return ;
}
HDU 3389的更多相关文章
- HDU 3389 阶梯博弈变形
n堆石子,每次选取两堆a!=b,(a+b)%2=1 && a!=b && 3|a+b,不能操作者输 选石子堆为奇数的等价于选取步数为奇数的,观察发现 1 3 4 是无法 ...
- 【hdu 3389】Game
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- hdu 3389 Game (阶梯博弈)
#include<stdio.h> int main() { int t,n,ans; int i,j,x; scanf("%d",&t); ;j<=t; ...
- HDU 3389 (Nim博弈变形) Game
参考了众巨巨的博客,现在重新整理一下自己的思路. 首先在纸上画了一下转移图: 1 3 4号盒子是不能够再转移卡片到其他盒子中去了的,其他盒子中的卡片经过若干步的转移最终也一定会转移到1 3 4号盒子中 ...
- hdu 3389 Game 博弈论
思路: 其本质为阶梯博弈; 阶梯博弈:博弈在一列阶梯上进行,每个阶梯上放着自然数个点,两个人进行阶梯博弈... 每一步则是将一个集体上的若干个点( >=1 )移到前面去,最后没有点可以移 ...
- Game HDU - 3389 (博弈论)
Bob and Alice are playing a new game. There are n boxes which have been numbered from 1 to n. Each b ...
- hdu 3389 阶梯博弈
题意:1-N带编号的盒子,当编号满足A>B && A非空 && (A + B) % 3 == 0 && (A + B) % 2 == 1则可以从A ...
- HDU 3389 Game(博弈)
Game Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submis ...
- HDU 3389 Game (阶梯博弈)
Game Time Limit: 1000MS Memory Limit: 32768KB 64bit IO Format: %I64d & %I64u Submit Status D ...
随机推荐
- 浅谈自学Python之路(day2)
今天的主要内容是: 标准库 数据类型知识 数据运算 三元运算 bytes类型 字符串操作 字典 集合 标准库 Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有 ...
- Windows<小白>详细笔记
Windows 7 部署 =========================================== ========================================== ...
- HBase与RDBMS的区别
此讨论并不局限于HBase,也会延伸到MongoDB和Cassandra这样的NoSQL数据库. 1.RDBMS RDBMS有以下特点: 面向视图:RDBMS表使用固定的视图,表中的数据类型也会事先定 ...
- Android使用charles抓包
1.下载并安状软件,官网在此: 2.前题条件,电脑和手机必须在同一网段 3.在Charles界面选择菜单 proxy->proxy settings 勾选"Enable transpa ...
- 如何使windows系统ping通VMware下面的linux系统
引用http://www.linuxidc.com/Linux/2012-11/73749p2.htm 很多人在开始接触Linux或者是嵌入式开发的时候都会遇到一个难题,就是如何在Linux下ping ...
- fusionchart简单demo柱状图
本篇是柱状图,想要折线图的话,只要改变.swf文件就行. <div id="column2" style="width:240px; height:200px; m ...
- [ller必读] LoveLive! 必备技能之 Python Pillow 自动处理截图
起因 喜欢的歌,静静地听:喜欢的人,远远的看.30天前,就是3月14号,我情不自禁地走近了<LoveLive!学院偶像祭>,这是我的第一张卡片(见下图).第二天也就是3月15日,海未生日了 ...
- Caffe2:ubuntuKylin17.04使用Caffe2.LSTM
一早发现caffe2的较成熟的release版发布了(the first production-ready release),那么深度学习平台在之后一段时间也是会出现其与tensorflow相互竞争的 ...
- POJ_2411_Mondriaan's Dream_状态压缩dp
Mondriaan's Dream Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 15407 Accepted: 888 ...
- brew 安装的.net 运行时提示"Did you mean to run dotnet SDK commands?"
原因未知,但有解决方案 使用 brew cask 安装的.NET Core brew cask install dotnet 结果运行时出现: 解决方案: 下载官方 .pkg 文件安装,顺便卸载掉 b ...