题意:典型的SG值问题,给n个堆,m个数字,每次只能从一个堆取m个数字之一。

分析:照着做就完事了,但是我不清楚为什么在这题迭代没有递归块?what?

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int k, a[100], f[10001];
int mex(int p)
{int i, t;bool g[101] = { 0 };for (i = 0; i < k; i++){t = p - a[i];if (t < 0)break;if (f[t] == -1)f[t] = mex(t);g[f[t]] = 1;}for (i = 0;; i++){if (!g[i])return i;}
}
int main()
{int n, i, m, t, s;while (scanf("%d", &k), k){for (i = 0; i < k; i++)scanf("%d", &a[i]);sort(a, a + k);memset(f, -1, sizeof(f));f[0] = 0;scanf("%d", &n);while (n--){scanf("%d", &m);s = 0;while (m--){scanf("%d", &t);if (f[t] == -1)f[t] = mex(t);s = s ^ f[t];}if (s == 0)printf("L");elseprintf("W");}printf("\n");}
}

迭代竟然TL,不懂,是数据问题吗

#include<iostream>
#include<string.h>
#include<sstream>
#include<set>
#include<algorithm>
#include<vector>
#include<map>
#include<queue>
#include<math.h>
using namespace std;
const int N = 100+5;
int f[N];
int M[N];
int hashz[N];
int k, m, l;
int SG[N];
int getf(int n) {for (int i = 1; i <= n; i++) {memset(hashz, 0, sizeof(hashz));for (int j = 1; f[j] <= i; j++) {hashz[SG[i - f[j]]] = 1;}for (int j = 0; j <= n; j++) {if (hashz[j] == 0) {SG[i] = j;break;}}}return SG[n];
}
int main() {char ans[N];while (cin >> k && k) {for (int i = 1; i <= k; i++)cin >> f[i];f[k + 1] = 100000000;cin >> m;for (int i = 0; i < m; i++) {cin >> l;int sum = 0;memset(SG, 0, sizeof(SG));for (int j = 0; j < l; j++) {cin >> M[j];sum =sum^ getf(M[j]);}if (sum == 0)cout << "L";//ans[i] = 'L';elsecout << "W";//ans[i] = 'W';}//for (int i = 0; i < m; i++)cout << ans[i]; cout << endl;}
}

HDOJ1536 S-nim相关推荐

  1. 【bzoj3150】 cqoi2013—新Nim游戏

    www.lydsy.com/JudgeOnline/problem.php?id=3105 (题目链接) 题意 在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴.可以一堆都不拿,但不可以全部拿 ...

  2. LeetCode实战:Nim 游戏

    背景 为什么你要加入一个技术团队? 如何加入 LSGO 软件技术团队? 我是如何组织"算法刻意练习活动"的? 为什么要求团队的学生们写技术Blog 题目英文 You are pla ...

  3. 解题报告(一)E、(BZOJ4589)Hard Nim(博弈论 + FWT)

    繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量题解和代码,题目难度不一定按照题号排序,我会在每道题后面加上题目难度指数(1∼51 \sim 51∼5),以模板题难度 11 ...

  4. POJ 1704 Georgia and Bob (Nim游戏变形)

    题目:http://poj.org/problem?id=1704 思路:Nim游戏策略,做如下转换,如果N是偶数,则两两配对,将两个数之间的格子数(距离)看做成这一堆石头的数量. 如果N是奇数,则将 ...

  5. BZOJ 3105:[cqoi2013]新Nim游戏

    BZOJ 3105:[cqoi2013]新Nim游戏 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=3105 题目大意:在传统的Nim取石子 ...

  6. VB6 调用 Nim 生成的 DLL

    2019独角兽企业重金招聘Python工程师标准>>> 关于 Nim Nim 是德国人 开发的编程语言,最初叫 Nimrod.Nim 有下面几个特点: 强制缩进语法 AST 操控 编 ...

  7. 【bzoj3105】新Nim游戏

    Portal--> bzoj3105 新Nim游戏 Solution 转化一下问题 首先看一下原来的Nim游戏,先手必胜的条件是:每堆数量的异或和不为\(0\) 所以在新的游戏中,如果要保证自己 ...

  8. 【POJ】【2975】Nim

    博弈论 我哭--思路错误WA了6次?(好像还有手抖点错--) 本题是要求Nim游戏的第一步必胜策略有几种. 一开始我想:先全部异或起来得到ans,从每个比ans大的堆里取走ans个即可,答案如此累计- ...

  9. 文巾解题 292. Nim 游戏

    1 题目描述 2 解题思路 这其实是一个脑筋急转弯一样的题目.先给出结论吧:如果堆中石头的数量 n 不能被 4 整除,那么你总是可以赢得 Nim 游戏的胜利. 下面是推导部分: 让我们考虑一些小例子. ...

  10. 洛谷P4301 [CQOI2013]新Nim游戏

    洛谷P4301 [CQOI2013]新Nim游戏 题目描述 传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同).两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火 ...

最新文章

  1. Ruby DSL介绍及其在测试数据构造中的使用(2)
  2. Echache整合Spring缓存实例讲解
  3. H3C交换机配置本地和远程登录用户名和密码
  4. iOS开发UI篇—iOS开发中三种简单的动画设置
  5. codeforce 1311E. Construct the Binary Tree (构造,就是个模拟)
  6. mmap函数用法及示例程序
  7. K8S之kubectl命令详解及常用示例??
  8. php调用ruby,ruby、javascript、php中的观察者模式实现代码
  9. 了解了这些才能开始发挥jQuery的威力
  10. django中自定义了manager函数,使用的时候报错AttributeError: 'Manager' object has no attribute 'title_count'...
  11. win32api之添加水印
  12. php一句话跨域,php跨域怎么解决
  13. 一只Quant菜鸟的修行之路
  14. WordPress插件 UberGrid 高级相册图片分享中文插件[更新至v2.0.13]
  15. U盘安装CentOS 7解决方案 (fat系统文件4g限制)
  16. 编写高效的JAvascript——Nicholas C. Zakas(读书笔记)
  17. 我来自江湖修改器|我来自江湖修改器3dm下载 v0.1二十四项
  18. python快速排名seo代码_python打造seo必备工具-自动查询排名
  19. linux chrome ui字体,谷歌Chrome 69浏览器标签栏字体模糊的解决方法
  20. M1 Mac安装 PS 2021 闪退、卡启动界面解决方法

热门文章

  1. Dubbo监控平台安装
  2. R eentrantLock的源码分析
  3. 什么时候用#{},什么时候用${}?
  4. MyBatis关键配置-创建会话工厂
  5. 搭建基础架构-Page
  6. Bean的依赖注入概念
  7. restTemplate 传递map
  8. ExecutorService- Future - Java多线程编程
  9. Activemq实战
  10. sqlconfigdatasource mysql_MFC odbc 连接MySQL 的 (SQLConfigDataSource动态DSN)