WELCOME

任何一个伟大的目标,都有一个微不足道的开始。

【一本通提高博弈论】巧克力棒

 


【一本通提高博弈论】巧克力棒

题目描述

TBL \texttt{TBL} TBL X \texttt{X} X 用巧克力棒玩游戏。每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度。 TBL \texttt{TBL} TBL 先手两人轮流,无法操作的人输。 他们以最佳策略一共进行了 10 10 10 轮(每次一盒)。你能预测胜负吗?

输入

输入数据共 20 20 20 行。 第 2 i − 1 2i-1 2i1 行一个正整数 N i N_i Ni,表示第 i i i 轮巧克力棒的数目。 第 2 i 2i 2i N i N_i Ni 个正整数 L i , j L_{i,j} Li,j,表示第 i i i 轮巧克力棒的长度。

输出

输出数据共 10 10 10 行。 每行输出 YESNO,表示 TBL \texttt{TBL} TBL 是否会赢。如果胜则输出 NO,否则输出 YES

样例输入

3 11 10 15 5 13 6 7 15 3 2 15 12 3 9 7 4 2 15 12 4 15 12 11 15 3 2 14 15 3 3 16 6 4 1 4 10 3 5 8 7 7 5 12

样例输出

YES NO YES YES YES NO YES YES YES NO

提示

20 % 20\% 20% 的分数, N ≤ 5 , L ≤ 100 N\le5,L\le100 N5,L100
40 % 40\% 40% 的分数, N ≤ 7 N\le7 N7
50 % 50\% 50% 的分数, L ≤ 5 × 1 0 3 L \le 5 \times 10^3 L5×103
100 % 100\% 100% 的分数, N ≤ 14 , L ≤ 1 0 9 N\le14,L\le10^9 N14,L109

Code

#include <bits/stdc++.h> using namespace std; int main() { for (int i = 1; i <= 10; ++i) { int n, a[20], flag = false; cin >> n; for (int i = 0; i < n; ++i) cin >> a[i]; for (int i = 1; i < (1 << n); ++i) { int r = 0; for (int j = 0; j < n; ++j) if (i & (1 << j)) r ^= a[j]; if (!r) { puts("NO"); flag = true; break; } } if (flag == false) puts("YES"); } }

广告

绿树公司 - 官方网站:https://wangping-lvshu.github.io/LvshuNew/

绿树智能 - 官方网站:https://wangping-lvshu.github.io/LvshuZhineng/

(现在使用,人人均可获得300元大奖)


__EOF__

本文作者绿树公司
本文链接https://www.cnblogs.com/wp-lvshu/p/16471596.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   绿树公司  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示