当前位置: 首页 > news >正文

做静态网站巨量引擎

做静态网站,巨量引擎,网站数据分析工具有哪些,网站做会员用什么源码给定 n 堆石子以及一个由 k 个不同正整数构成的数字集合 S 。 现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S ,最后无法进行操作的人视为失败。 问如果两人都采用最优策略,…

给定 n
堆石子以及一个由 k
个不同正整数构成的数字集合 S

现在有两位玩家轮流操作,每次操作可以从任意一堆石子中拿取石子,每次拿取的石子数量必须包含于集合 S
,最后无法进行操作的人视为失败。

问如果两人都采用最优策略,先手是否必胜。

输入格式
第一行包含整数 k
,表示数字集合 S
中数字的个数。

第二行包含 k
个整数,其中第 i
个整数表示数字集合 S
中的第 i
个数 si

第三行包含整数 n

第四行包含 n
个整数,其中第 i
个整数表示第 i
堆石子的数量 hi

输出格式
如果先手方必胜,则输出 Yes。

否则,输出 No。

数据范围
1≤n,k≤100
,
1≤si,hi≤10000
输入样例:
2
2 5
3
2 4 7
输出样例:
Yes

SG函数:表示当前状态所不能到达状态中最小的自然数。
必胜状态:SG不等于0;
必败状态:SG等于0。
在这里插入图片描述
如果有多个图,将每个初始的SG值异或,等于0必败,不等于0必胜。
在这里插入图片描述

#include <iostream>
#include <cstring>
#include <algorithm>
#include <unordered_set>using namespace std;const int M = 110, N = 10010;int m, n;
int s[M], f[N]; //s存可以取的数,f表明一个状态的sg值,一个状态是一个数,一个确定石子个数的堆可以分解成一个图表示状态。int sg(int x)
{if(f[x] != -1) return f[x]; //避免重复计算,如果x状态算过的话,就直接返回这个状态的sg值unordered_set<int> S;//存能到达的状态的sg值。for(int i = 0; i < m; i ++ ) //遍历每一个图(堆,石子堆)if(x >= s[i])S.insert(sg(x - s[i]));for(int i = 0; ; i ++ )if(!S.count(i)) //找到最小的不存在的状态自然数,说明当前状态的sg值就是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;while(n -- ){int x;cin>>x;res ^= sg(x);}if(res) puts("Yes");else puts("No");return 0;
}
http://www.khdw.cn/news/31724.html

相关文章:

  • 野马视觉传媒网站建设建立网站用什么软件
  • 个人能网站建设网络营销推广服务
  • 中国九江网官网seo教学网站
  • 盛泽做网站的关键词seo资源
  • 专门做汽车gps贷款网站注册安全工程师
  • 网站首页图片滑动怎么做百度推广关键词查询
  • 可以做外贸的网站app推广方案怎么写
  • 瀑布流网站有哪些上海公司排名
  • 哲林高拍仪网站开发百度热搜排名
  • 解聘 人力资源网站上怎么做近期重大新闻
  • 建网站步骤深圳seo优化推广
  • 怎么做恶搞人的网站营销效果分析怎么写
  • php动态网站开发实训目的百度权重高的发帖网站
  • 记事本怎么做网站网址收录
  • wpf 网站开发最新实时新闻
  • 网站建设分为几种进入百度知道首页
  • b2b电子商务网站方案网盘资源免费观看
  • 做暧视频网站如何做网页推广
  • 哪个网站做兼职靠谱吗seo软文是什么
  • 音乐网站开发毕业论文厦门seo小谢
  • 成品网站w灬 源码1688三叶草怎么联系百度客服人工服务
  • 巨量引擎广告投放平台代理网站优化 推广
  • 弹幕网站如何做今日预测足球比分预测
  • 现在的网站开发都用什么开发天津网络关键词排名
  • 学做ps的网站有哪些良品铺子网络营销策划书
  • 网站建设的教学网站宣传平台有哪些
  • 装修设计软件哪个好用免费搜索关键词排名优化软件
  • sketchup模型库免费下载seo网址优化靠谱
  • 福田园岭网站建设重庆网站优化公司
  • 上海建设网站互联网营销培训课程