A Multiplication Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 5833    Accepted Submission(s): 3303 Problem Description Stan and Ollie play the game of multiplication by multiplying an in…
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3832    Accepted Submission(s): 2183 Problem Description Stan and Ollie play the game of multiplication by multiplying an in…
思路:求必胜区间和必败区间! 1-9 先手胜 10-2*9后手胜 19-2*9*9先手胜 163-2*2*9*9后手胜 …… 易知右区间按9,2交替出现的,所以每次除以18,直到小于18时就可以直接判断了. 代码如下: #include<cstdio> int main() { double n; while(scanf("%lf",&n)!=EOF){ ) n/=; ) puts("Stan wins."); else puts("O…
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2674    Accepted Submission(s): 1532 Problem Description Stan and Ollie play the game of multiplication by multiplying an in…
题目大意:输入一个整数n.谁先报的数大于n,谁就输了.(初始值p  == 1 , 后一个人报的数必须在前一个人报的数的基础上乘上(2 ~ 9)之间的任意一个数) 解题思路:巴什博奕的变形 1) 解题思路: 如果输入是 2 ~ 9 ,因为Stan 是先手,所以Stan 必胜 如果输入是 10~18 ,因为Ollie 是后手,不管第一次Stan 乘的是什么,Stan肯定在 2 ~ 9 之间, 如果Stan乘以 2 ,那么Ollie就乘以 9 ,就到18了,如果Stan乘以 9 , 那么Ollie乘以…
A Multiplication Game Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 4633    Accepted Submission(s): 2631 Problem Description Stan and Ollie play the game of multiplication by multiplying an i…
题目大意:从1开始Stan与Ollie经行博弈,stan先手,每次将当前数乘上(2~9)间的任意数,最后一次操作后大于等于n的人获胜. 题目思路: 1-9 stan 胜 10-18 ollie胜 19-162 stan 胜 163-306 ollie胜 (stan为了接近那个数尽可能的扩大选择乘9,ollie知道自己无法在一步内获胜,为了避免stan获胜所以乘上最小的数2,接下来stan最大可以到达的数为乘上9后的数:162) -- 胜负区间对称! #include<stdio.h> #inc…
题意:两个玩家玩一个游戏,从 p = 1,开始,然后依次轮流选择一个2 - 9的数乘以 p,问你谁先凑够 p >= n. 析:找规律,我先打了一下SG函数的表,然后就找到规律了 我找到的是: 1 - 9                                 Stan wins.                         1  ~  9 10 - 18                             Ollie wins.                         …
题目链接 本题很像bash博弈,但又有些许不同,因为这里是乘法,我们可以列出前几项可能 若n=2-9,那么first可以一次取完 若n=10-18,无论first怎么取,second都能一次取完 若n=19-162,那么无论second怎么取,first都能一次取完 若n=163-324 second一定可以取完 以此类推,类似bash博弈,每一组必胜必败态交换的距离为18的倍数,那么就将n/=18直到n<=18,然后判断即可 #include<bits/stdc++.h> using…
简介: ICG游戏:Impartial Combinatorial Games,公平的组合游戏. 以下是定义,来自网络,可能不够严谨: 1.两名选手:2.两名选手轮流行动,每一次行动可以在有限合法操作集合中选择一个:3.游戏的任何一种可能的局面(position),合法操作集合只取决于这个局面本身:局面的改变称为“移动”(move).4.若轮到某位选手时,该选手的合法操作集合为空,则这名选手判负. 必胜和必败,指如果若按规定且可行的方法走,则必定胜利:必败,指无论怎么走必定失败.某些资料称为奇异…