首页 > TAG信息列表 > 先取

HDU 2176 取(m堆)石子游戏

\(HDU2176\) 先取者负输出\(No\).先取者胜输出\(Yes\),然后输出先取者第\(1\)次取子的所有方法.如果从有\(a\)个石子的堆中取若干个后剩下\(b\)个后会胜就输出\(a\) \(b\) #include <bits/stdc++.h> using namespace std; const int N = 200010; int a[N]; int main() { int

2021-11-27学习笔记

今天是预备役期间学习打卡day5. 今天上午简单的学习了一下基础博弈(取糖果类似),为了下午的菜鸟杯做准备,可惜的是没能够用上。 大概就是n个东西两个人取,一次至少取一个,至多取m个,最后取的人获胜。 如果n<m,第一个人必胜。 如果n=m+1,因为至多取m个,所以无论先取的先取走多少个,后取的都

「CF1382B」Sequential Nim - 题解

分析 我们可以发现对于若干堆(第一堆数量大于 \(1\) ),有这么一个贪心的取法: 比如第一堆堆数量为 \(n(n>1)\) 。先手先取 \(n-1\) 个。这样后手只能取 \(1\) 个(无法不取)。 这样,先手就可以先取第二堆。 后几堆的取法同上,直到先手可以先取最后一堆。 对于最后一堆,先手直接取完。获胜

Nim Game

题目概述         有n堆石子,每堆的数量分别为\(a_1,a_2,\cdots,a_n\),两个人轮流取石子,每次可以从一堆石子中取任意数量的石子,交替进行,最后没法取石子的输,两人都采取它们情况下的最优策略,判断是先取的输还是后取的输. 解法         如果只有一堆石子,显然