由题意可知,这题和巴什博弈没什么关系了

相似题目:AtCoder Beginner Contest 278 F - Shiritori

  • 预备知识:DP,博弈论的必胜态和必败态

问题的关键是确定\(f_n\)是必胜态还是必败态?

而必胜态由必败态转移而来

  • 如果当前\(i-a_j\)这个位置是必败态,那么\(i\)这个位置就是必胜态
  • 由于\(m\)比较多,我们考虑用DP来转移状态
  • 其中0代表必败态,1代表必胜态
  • 转移方程 $f_i=1 $  \((0≤i-a_j,f_{i-a_{j}}=0)\)
  • 单个数据的时间复杂度 \(O(mn)\)
//  AC one more times
#include <bits/stdc++.h>
using namespace std;
#define endl '\n'
const int N = 1e6+10;
int a[11],n,m,f[N];
int main()
{
std::ios::sync_with_stdio(false); cin.tie(nullptr), cout.tie(nullptr);
// 特殊输入 请注释上方,如__int128等
int TC = 1;
while(cin>>n)
{
cin>>m;
for(int i=1;i<=m;i++) cin>>a[i];
for(int i=1;i<=n;i++) f[i]=0;
// 0 代表必输态
// 1 代表必胜态
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(i>=a[j]&&f[i-a[j]]==0)
f[i]=1;
if(f[n])
cout<<"Stan wins"<<endl;
else cout<<"Ollie wins"<<endl;
}
return 0;
}

最新文章

  1. UML动态模型图简单介绍
  2. 利用libpcap打印ip包
  3. poj 1651 Multiplication Puzzle (区间dp)
  4. use selenium in scrapy webdriver
  5. django: template variable
  6. [canvas]通过动态生成像素点做绚丽效果
  7. Qt &#39;void QWidget::show()&#39; is inaccessible
  8. 每个Web开发者必备的9个软技能
  9. DEVTMPFS
  10. Java线程-异常处理
  11. [官网]How to configure the Microsoft Distributed Transaction Coordinator (MSDTC) on Linux
  12. react案例-&gt;新闻移动客户端--(react+redux+es6+webpack+es6的spa应用)
  13. java进阶书籍推荐(不包括基础)
  14. TensorFlow激活函数+归一化-函数
  15. Eclipse 项目导入 Android Studio 导致的乱码问题
  16. Vuex结合 async/await 优雅的管理接口请求
  17. 跟着未名学Office - 高效笔记OneNote
  18. django-权限验证场景
  19. collections, time, queue的应用
  20. Java中return返回结果的优先级

热门文章

  1. Educational Codeforces Round 143 (Rated for Div
  2. 树莓派 Zero W 安装 apache2 + php
  3. HTML中javascript的&lt;script&gt;标签使用方法详解
  4. 【git】git子模块操作-从子模块的远端拉取上游修改 &amp; 从项目远端拉取更改
  5. 所谓的安装phpmyadmin
  6. 分治-1-归并排序(Divide and Conquer-1-merge sort)
  7. 简易舰c远征计时器(HTML)
  8. docker和常用的中间件安装汇总
  9. RPS网卡多队列
  10. UI设计圈年终福利,错过一次等一年!