AcWing 893. 集合-Nim游戏
Posted qingyuyyyyy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AcWing 893. 集合-Nim游戏相关的知识,希望对你有一定的参考价值。
//只能拿某些特定个数的石子 #include <cstring> #include <iostream> #include <algorithm> #include <unordered_set> using namespace std; const int N = 110, M = 10010; int n, m; int s[N], f[M]; int sg(int x) { if (f[x] != -1) return f[x]; unordered_set<int> S; for (int i = 0; i < m; i ++ ) { int sum = s[i]; if (x >= sum) S.insert(sg(x - sum)); } for (int i = 0; ; i ++ ) if (!S.count(i)) return f[x] = i; } int main() { cin >> m; for (int i = 0; i < m; i ++ ) cin >> s[i]; cin >> n; memset(f, -1, sizeof f); int res = 0; for (int i = 0; i < n; i ++ ) { int x; cin >> x; res ^= sg(x); } if (res) puts("Yes"); else puts("No"); return 0; }
以上是关于AcWing 893. 集合-Nim游戏的主要内容,如果未能解决你的问题,请参考以下文章