博弈论(五)——#10247. 「一本通 6.7 练习 4」S-Nim
题目链接:https://loj.ac/problem/10247
解题思路
就是一般sg函数的运用,根据每次的s,推出当前情况的sg函数,然后异或,等于0,+“L”,不等于0,+“W”。
AC代码
#include <iostream>
#include <stdio.h>
#include <algorithm>
#include <cstring>
using namespace std;
int a[105],s[105];
int sg[10005];
bool vis[10005];
int n,m,k;
void get_sg()
{sg[0]=0;for(int i=1;i<=10000;++i){memset(vis,0,sizeof(vis));for(int j=1;j<=k;++j){if(i-s[j]<0)break;vis[sg[i-s[j]]]=1;}int j=0;while(vis[j]){j++;}sg[i]=j;}
}
int main()
{while(~scanf("%d",&k)&&k){for(int i=1;i<=k;++i)scanf("%d",&s[i]);sort(s+1,s+1+k);get_sg();string ans;scanf("%d",&m);while(m--){scanf("%d",&n);int res=0;for(int i=1;i<=n;++i){scanf("%d",&a[i]);res^=sg[a[i]];}if(res)ans+="W";elseans+="L";}cout<<ans<<endl;}return 0;
}
博弈论(五)——#10247. 「一本通 6.7 练习 4」S-Nim相关推荐
- 「一本通 6.5 练习 3」迷路
「一本通 6.5 练习 3」迷路 题目描述 大意说一个给你有向图, 一个有n个节点,每个节点相连的边为所需要花费的时间, 问你从1到n 在时间刚好为t是的方案数.输出%2009 注意:不能在某个节点逗 ...
- android相册幻灯片功能,玩机教程 篇四十五:「MIUI玩机技巧63」MIUI相册新增“幻灯片播放”功能...
玩机教程 篇四十五:「MIUI玩机技巧63」MIUI相册新增"幻灯片播放"功能 2020-02-17 16:15:35 0点赞 0收藏 0评论 本帖主要解决2大问题: 1) 功能科 ...
- 【C++】「一本通 1.1 例 4」加工生产调度
「一本通 1.1 例 4」加工生产调度 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [数据范围] [解析] [代码] [来源] 一本通题库-1425 LibreOJ ...
- LibreOJ10082. 「一本通 3.3 例 1」Word Rings【二分+SPFA】
10082. 「一本通 3.3 例 1」Word Rings [题目描述] 传送门 [题解] 将一个字符串看成一条边,字符两端的字符看成节点,长度看成权值.二分枚举答案,最后SPFA刷正环,因为只要有 ...
- #10016. 「一本通 1.2 练习 3」灯泡(三分)
参考博客链接:「一本通 1.2 练习 3」灯泡(三分) #include<stdio.h> #include<string.h> #include<math.h> ...
- 【C++】「一本通 1.1 例 2」种树
「一本通 1.1 例 2」种树 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [解析] [代码] [来源] 一本通题库-1423 LibreOJ-10001 vjud ...
- #10001. 「一本通 1.1 例 2」种树
#10001. 「一本通 1.1 例 2」种树 满足n个区间种树的要求,求最少种多少棵数 思路 按照区间的尾巴来排序,因为如果区间有重叠的种在第一个区间的尾巴可以使得种树更少,所有每次始从尾巴开始种树 ...
- 【C++】「一本通 1.1 例 5」智力大冲浪
「一本通 1.1 例 5」智力大冲浪 [来源] [题目描述] [输入格式] [输出格式] [输入样例] [输出样例] [数据范围] [解析] [代码] [来源] 一本通题库-1426 LibreOJ- ...
- loj10157. 「一本通 5.2 例 5」皇宫看守
思路: 例四是覆盖全部边,dp两个状态,例五是覆盖全部点,dp三个状态. #include<cstdio> #include<iostream> #include<cst ...
- #10019. 「一本通 1.3 例 2」生日蛋糕
冥想盆 感性理解深搜剪枝(看完这个再看下面的文章) 理解本题的思路 [代码实现1:最慢最好理解(自己打的):100多ms] [代码实现2:次慢:30多ms] [代码实现3:最快:10多ms] 最后放上 ...
最新文章
- P4722 【模板】最大流
- Java黑皮书课后题第7章:***7.35(游戏:猜字词游戏)编写一个猜字词游戏,随机产生一个单词,当用户猜测正确后,正确的字母显示出来。当用户猜出一个单词,显示猜错的次数,并询问用户是否继续猜测
- 【机器学习】 LightGBM——优于XGBoost提升的集成算法(安装+对比XGBoost改进+参数说明+python代码实例)
- C语言(CED)如何用sort函数根据结构体里的某一属性进行排序
- php验证旧密码,PHP最佳实践之过滤、验证、转义和密码
- Yii2 理解Validator
- 为了异常安全(swap,share_ptr)——Effecive C++
- (14)VHDL测试激励编写(时钟)
- 硅谷NewGen:AI棋至拐点,推动下一代技术变革
- 图片的压缩(上传图片太大的话,上传不到服务器)
- 2020年考研准考证打印下载及注意事项
- 数据结构(郝斌老师)
- 查看dSYM文件的UUID
- 联想Thinkpad E450C关闭触摸板方法
- HTML之表单元素“Password”引发的思考-你的密码安全吗???
- [学习笔记]Python for Data Analysis, 3E-9.绘图和可视化
- STM32_RS485通信异常
- axis2 jax-ws_Axis2 WS-Security基础知识
- PostGIS的geometry类型及使用方法
- 一段话描述相控阵论文要点(持续学习更新中...)
热门文章
- 2022-2027年中国石油装备制造市场竞争态势及行业投资前景预测报告
- 中国石油大学《输气管道设计与管理(含课程设计)》第三阶段在线作业
- 智能证件照制作——基于人脸检测与自动人像分割轻松制作个人证件照(C++实现)
- html能计算吗,使用(JavaScript和HTML)计算总数
- nps是什么、怎么计算、有什么用
- CAD二次开发C#——动态绘制矩形(DrawJig)
- 滑动窗口(java)
- 都2022年了,这11个Java开发工具你还不知道?
- 一切皆是文件:UNIX,Linux 操作系統的設計哲學
- 行测题中逻辑判断题的规律