首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数字中的集位数和基于setbit的游戏

数字中的集位数和基于setbit的游戏
EN

Stack Overflow用户
提问于 2013-10-01 14:18:36
回答 1查看 119关注 0票数 1

我试过这个关于位操作的问题是通过这个:

数字的美是指该数中的集合位数。A和B开始玩一个棋盘上写着N号的游戏,轮到移动的玩家走到棋盘上,写一个新的N-K,其中k<=N和K的美是1。同样重要的是,new的美必须与N的美相等。最后一位玩家要成功完成他的移动,就赢得了这场比赛。

他们都玩得很好。

我不是在这里找代码,我想知道如何处理这个问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-02 08:07:38

这是典型的博弈论问题。球员发挥最佳意味着,任何球员都会做出这样的举动,从而使其获胜的机会最大化(考虑到当第2名球员有机会的时候,他也会愿意这样做)。

在这种情况下,让我们看看允许的移动:

根据要求,一个数字的美应该保持不变,而k应该有美丽的1,即只有1位集(用于ex )。00000100)

为了进一步说明,让我们假设我们只有8位数。

如果您仔细地看到,为了保持N的美丽不变,k中设置的位位于N0的索引(其中之一),而1位于它的左边。我想举一个例子:

让我们说N01010001。现在k可以是0010000000001000。如果你看到N-k,它的美丽依然不变。操作结束后,您将注意到1向右移动,因此0向左移动。例如,当N=01010001k=00100000 (N-k) = 00110001

此外,游戏的结束位置将是这样的,所有的0's都在左边,所有的1's都在右边(00000111)。您可以在给定数字N的情况下计算可能的移动次数。如果这是奇怪的,那么球员的首发获胜,否则他就输了。

现在,计算这些移动的数量是简单的枚举问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19118651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档