poj2484----简单博弈

//    Creat By 郭仔 2015年3月29日9:08:33

#include<iostream>

#include<fstream>

#include<sstream>

#include<algorithm>

#include<string>

#include<set>

#include<map>

#include<utility>

#include<queue>

#include<stack>

#include<list>

#include<vector>

#include<cstdio>

#include<cstdlib>

#include<cstring>

#include<cmath>

#include<ctime>

using namespace std;

int main(){

int m,n;

while(cin>>n){

if(n==0)

break;

if(n>2)

cout<<"Bob"<<endl;

else

cout<<"Alice"<<endl;

}

}

/*当n==1 || n==2时,明显先手必胜。

当n==3时,明显先手必败。

由于每次只可取1或2个,而取2个时,2个必须相邻,

推断有:

当n>3时,

若n为偶数,先手无论如何取,后手可在先手对称的位置上取同等数量,

于是先手必败。

若n为奇数,先手取1个时,后手可在先手对称的位置上取2个,

之后无论先手如何取,后手都可在先手对称的位置上取同等数量,先手必败。

如果先手一开始取2个时,后手可在先手对称的位置上取1个,之后还剩下偶数个,

可如上推出先手必败。故当 n>3时,先手必败

*/

时间: 2024-10-10 22:33:56

poj2484----简单博弈的相关文章

ACM: NBUT 1107 盒子游戏 - 简单博弈

NBUT 1107  盒子游戏 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format: Practice Appoint description:  System Crawler  (Aug 13, 2016 10:35:29 PM) Description 有两个相同的盒子,其中一个装了n个球,另一个装了一个球.Alice和Bob发明了一个游戏,规则如下:Alice和Bob轮流操作,Alice先操作每次操作时,游戏者先看看

HDU 1846 Brave Game (简单博弈)

HDU 1846 Brave Game (简单博弈) ACM 题目地址: HDU 1846 Brave Game 题意: 中文. 分析: 博弈入门. 如果n=m+1,因为最多取m个,所以先拿的人拿多少个,后拿的人能全拿走. 所以判断n%(m+1)即可. 代码: /* * Author: illuz <iilluzen[at]gmail.com> * File: 1846.cpp * Create Date: 2014-09-20 10:05:26 * Descripton: game */ #

[简单博弈] hdu 1525 Euclid&#39;s Game

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1525 Euclid's Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1832    Accepted Submission(s): 808 Problem Description Two players, Stan and

hdu 2999 sg函数(简单博弈)

Stone Game, Why are you always there? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 393    Accepted Submission(s): 132 Problem Description "Alice and Bob are playing stone game...""E

Codeforces 15C Industrial Nim 简单博弈

题目链接:点击打开链接 题意: 给定n 下面n行,每行2个数u v 表示有v堆石子:u,u+1,u+2···u+v-1 问先手必胜还是后手必胜 思路: 首先根据Nim的博弈结论 把所有数都异或一下,看结果是0还是非0 而这里因为数字太多所以想优化 那么其实对于一个序列 u, u+1, u+2 ···· 显然 {4,5} {,6,7}, {8,9} 这样2个一组的异或结果就是1 那么只需要把序列分组,分成{偶数,奇数} 然后Y一下.. #include<stdio.h> #include<

hdu3951 Coin Game(简单博弈)

Coin Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1627    Accepted Submission(s): 936 Problem Description After hh has learned how to play Nim game, he begins to try another coin game w

[POJ1082&amp;POJ2348&amp;POJ1067&amp;POJ2505&amp;POJ1960]简单博弈题总结

鉴于时间紧张...虽然知道博弈是个大课题但是花一个上午时间已经极限了... 希望省选过后再回过头来好好总结一遍吧. 接下来为了看着顺眼一点...还是按照难度顺序吧   POJ1082 一道最简单的博弈题,只需要DP就可以过. 在这道题里我尽情展示了多函数多过程的代码风格.. program poj1082; const u:set of 0..20=[1,3,5,7,8,10,12]; var n,i,x,y,z:longint; f:array[1900..2002,1..12,1..31]o

hdu 1846 Brave Game 简单博弈

Problem Description 十年前读大学的时候,中国每年都要从国外引进一些电影大片,其中有一部电影就叫<勇敢者的游戏>(英文名称:Zathura),一直到现在,我依然对于电影中的部分电脑特技印象深刻.今天,大家选择上机考试,就是一种勇敢(brave)的选择:这个短学期,我们讲的是博弈(game)专题:所以,大家现在玩的也是"勇敢者的游戏",这也是我命名这个题目的原因.当然,除了"勇敢",我还希望看到"诚信",无论考试成绩如

简单博弈

题目描述 话说,小C经过上次被小T实力坑了一把以后呀,他就决定发明一个数字游戏来坑一坑小T!游戏规则是这样~ 在游戏开始前,小C会任意的选出一个正整数n(1≤n≤2^32-1),同时令m=1.在玩的过程当中,小C和小T每个人都可以将m的值扩大2到9中的任意倍数(倍数一定是整数),两个人一人扩大一次,第一个使m≥n的人就是最后的赢家. 因为两个人都在互相算计,所以都是用的最佳策略,问最后是谁赢? (上次因为吃了先手的亏,小C决定先手,也就是说:每次都是小C第一个玩). 输入 多组输入(文件尾结束)

Acdream 1416 Crazy Nim(简单博弈找规律)

传送门 Crazy Nim Time Limit: 2000/1000MS (Java/Others) Memory Limit: 128000/64000KB (Java/Others) Submit Statistic Next Problem Problem Description Alice and Bob like to play crazy nim. The game proceeds as follows. There are several stones arranged in