nyoj585 取石子(六) Nimm博弈
此题数据十分极限,需要优化,否则会超时。关于此题的不足:明明说的每堆石子数不超过100,我开一个105大小的数组想用哈希居然Runtime Error!!
后来看见有人说需要优化输入:
void in(int &a) {
char ch;
while((ch=getchar()) < '0' || ch > '9');
for(a = 0; ch >= '0' && ch <= '9'; ch = getchar())
a = a*10 + ch - '0';
}
好吧,我不知道为什这样输入整数会比scanf("%d", &a)更快?有知道的大神请透露一下。
AC代码
#include <cstdio>
int main() {
int T, n, x, res;
char ch;
scanf("%d", &T);
while(T--) {
scanf("%d", &n);
res = 0;
for(int i = 0; i < n; ++i) {
char ch;
while((ch=getchar()) <'0' || ch > '9');
for(x = 0; ch >= '0' && ch <= '9'; ch = getchar())
x = x*10 + ch - '0';
res ^= x;
}
if(res) printf("PIAOYI\n");
else printf("HRDV\n");
}
return 0;
}
如有不当之处欢迎指出!
nyoj585 取石子(六) Nimm博弈的更多相关文章
- 梦工厂实验室 取石子之fans 博弈
问题 D: 取石子之fans 时间限制: 1 Sec 内存限制: 64 MB提交: 57 解决: 26[提交][状态][讨论版] 题目描述 Yougth和Hrdv玩一个游戏,拿出n个石子摆成一圈, ...
- HDU 2516 取石子游戏(FIB博弈)
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 取石子游戏 BZOJ1874 博弈
小H和小Z正在玩一个取石子游戏. 取石子游戏的规则是这样的,每个人每次可以从一堆石子中取出若干个石子, 每次取石子的个数有限制,谁不能取石子时就会输掉游戏. 小H先进行操作,他想问你他是否有必胜策略, ...
- 【BZOJ1413】取石子游戏(博弈,区间DP)
题意:在研究过Nim游戏及各种变种之后,Orez又发现了一种全新的取石子游戏,这个游戏是这样的: 有n堆石子,将这n堆石子摆成一排.游戏由两个人进行,两人轮流操作,每次操作者都可以从最左或最右的一堆中 ...
- hdu 2516 取石子游戏 (Fibonacci博弈)
取石子游戏 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 取石子(六)_nyoj_585(博弈-奇异矩阵).java
取石子(六) 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 3 描述 最近 TopCoder 的 PIAOYI 和 HRDV 很无聊,于是就想了一个游戏,游戏是这样的: ...
- nyoj888 取石子(九) 反Nimm博弈
这题就是反Nimm博弈--分析见反Nimm博弈 AC代码 #include <cstdio> #include <cmath> #include <algorithm&g ...
- {HDU}{2516}{取石子游戏}{斐波那契博弈}
题意:给定一堆石子,每个人最多取前一个人取石子数的2被,最少取一个,最后取石子的为赢家,求赢家. 思路:斐波那契博弈,这个题的证明过程太精彩了! 一个重要的定理:任何正整数都可以表示为若干个不连续的斐 ...
- nim3取石子游戏 (威佐夫博弈)
http://www.cnblogs.com/jackge/archive/2013/04/22/3034968.html 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有 ...
随机推荐
- Servlet--ServletConfig接口,GenericServlet类
ServletConfig接口 定义:public interface ServletConfig 这个接口定义了一个对象, 通过这个对象, Servlet 引擎配置一个 Servlet 并且允许 S ...
- linkin大话设计模式--常用模式总结
linkin大话设计模式--常用模式总结 一,常用设计模式定义 Abstract Factory(抽象工厂模式):提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类. Adapter( ...
- linkin大话数据结构--Collection和Iterator
linkin大话数据结构--Collection和Iterator Java 集合就像一种容器,可以把多个对象的引用放入容器中.Java 集合类可以用于存储数量不等的多个对象,还可用于保存具有映射关系 ...
- 错误:java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException 的解决
问题: 项目编译通过,启动报错误信息java.lang.NoClassDefFoundError: com/project/common/exception/ServiceException. 解决方 ...
- 通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息
源代码:https://github.com/nnngu/LagouSpider 效果预览 思路 1.首先我们打开拉勾网,并搜索"java",显示出来的职位信息就是我们的目标. 2 ...
- unix网络编程第2版(卷1)_第6章_同步_异步
第6章 I/O复用:select和poll函数 6.1概述 在5.12节中,我们看到TCP客户同时处理两个输入:标准输入和TCP套接口.我们遇到的问题是客户阻塞于(标准输入上的)fgets调用,而服务 ...
- Part 7:自定义admin站点--Django从入门到精通系列教程
该系列教程系个人原创,并完整发布在个人官网刘江的博客和教程 所有转载本文者,需在顶部显著位置注明原作者及www.liujiangblog.com官网地址. Python及Django学习QQ群:453 ...
- 关于int main( int argc, char *argv[] )
int main(int argc, char *argv[], char *env[]) 1. int argc 表示你在命令行下输入命令的时候,一共有多少个参数. 2. char *argv[] ...
- git修改最后一次commit的内容
提交修改 $ git add test.txt $ git commit -m "提交test.txt文件" 修改注释说明 如果需要修改commit的注释说明,则执行以下命令: $ ...
- UOJ Round #1 [数论 | DP 排列]
UOJ Round #1 难度很良心啊! 做出了前两题,第三题看到仙人掌就吓哭了. [UR #1]缩进优化 就是求 \[ \sum_{i=1}^n a_i - (x-1)\sum_{i=1}^n\lf ...