题解:
非常简单的巴什博弈问题。
简单来说保证$L+1$是$K$的因数即可。
决策是,先手取$x$个,后手就取$L+1-x$个。
那个$L>=2$真的很坑。
代码:
#include<cstdio> int n; int main() { while(scanf("%d",&n)>0) { int ans = n; for(int i=3;i*i<=n;i++)if(n%i==0) { ans = i; break; } if(ans==n&&n%2==0&&ans/2>2)ans/=2; printf("%d\n",ans-1); } return 0; }
本文详细解析了一道经典的巴什博弈问题,通过确保L+1是K的因数的策略,为读者提供了清晰的解题思路。代码示例展示了如何找到最佳的先手取数策略,确保在两人轮流取数游戏中获胜。
1089

被折叠的 条评论
为什么被折叠?



