UVA 1482 - Playing With Stones(SG打表规律)
UVA 1482 - Playing With Stones
题意:给定n堆石头,每次选一堆取至少一个。不超过一半的石子,最后不能取的输,问是否先手必胜
思路:数值非常大。无法直接递推sg函数。打出前30项的sg函数找规律
代码:
#include <stdio.h>
#include <string.h> int t, n;
long long num; long long SG(long long x) {
return x % 2 == 0 ? x : SG(x / 2);
} int main() {
scanf("%d", &t);
while (t--) {
scanf("%d", &n);
long long ans = 0;
for (int i = 0; i < n; i++) {
scanf("%lld", &num);
ans ^= SG(num);
}
printf("%s\n", ans == 0 ? "NO" : "YES");
}
return 0;
}
UVA 1482 - Playing With Stones(SG打表规律)的更多相关文章
- uva 1482 - Playing With Stones
		对于组合游戏的题: 首先把问题建模成NIM等经典的组合游戏模型: 然后打表找出,或者推出SG函数值: 最后再利用SG定理判断是否必胜必败状态: #include<cstdio> #defi ... 
- UVA1482 Playing With Stones —— SG博弈
		题目链接:https://vjudge.net/problem/UVA-1482 题意: 有n堆石子, 每堆石子有ai(ai<=1e18).两个人轮流取石子,要求每次只能从一堆石子中抽取不多于一 ... 
- UVALive 5059 C - Playing With Stones 博弈论Sg函数
		C - Playing With Stones Time Limit:3000MS Memory Limit:0KB 64bit IO Format:%lld & %llu S ... 
- 【LA5059】Playing With Stones (SG函数)
		题意:有n堆石子,分别有a[i]个.两个游戏者轮流操作,每次可以选一堆,拿走至少一个石子,但不能拿走超过一半的石子. 谁不能拿石子就算输,问先手胜负情况 n<=100,1<=a[i]< ... 
- UVa 1583 Digit Generator --- 水题+打表
		UVa 1583 题目大意:如果x加上x的各个数字之和得到y,那么称x是y的生成元. 给定数字n,求它的最小生成元 解题思路:可以利用打表的方法,提前计算出以i为生成元的数,设为d,并保存在a[d]中 ... 
- HDU 5795 A Simple Nim(SG打表找规律)
		SG打表找规律 HDU 5795 题目连接 #include<iostream> #include<cstdio> #include<cmath> #include ... 
- HDU 3032 (SG打表找规律)
		题意: 有n堆石子,alice先取,每次可以选择拿走一堆石子中的1~x(该堆石子总数) ,也可以选择将这堆石子分成任意的两堆.alice与bob轮流取,取走最后一个石子的人胜利. 思路: 因为数的范围 ... 
- UVA 1482 SG打表
		打出SG表来可以很容易的发现i为偶数时 SG[i]=i/2 i为奇数时 SG[i]=SG[i/2] #include<bits/stdc++.h> typedef long long ll ... 
- Playing With Stones UVALive - 5059 Nim SG函数 打表找规律
		Code: #include<cstdio> #include<algorithm> using namespace std; typedef long long ll; ll ... 
随机推荐
- VC++中char和TCHAR之间转换
			char:计算机编程语言(c.c++.java等)中可容纳单个字符的一种基本数据类型. TCHAR:为了满足Unicode编码,对char的扩展,即_T(“str”)表示TCHAR类型 C++支持两种 ... 
- vs实用插件
			Live Share 强烈推荐的一款插件,能在VS程序中打开文件并且显示他的效果.非常非常实用!,具体功能介绍在你搜索该插件时候有说明,非常非常好用的一款插件! 后续插件推荐转载参考与其他博主 1.C ... 
- sort_main_extable
			参考:Linux异常表 1.函数调用关系 asmlinkage void __init start_kernel(void) -->sort_main_extable(); -->sort ... 
- C语言文件操作  FILE结构体
			内存中的数据都是暂时的,当程序结束时,它们都将丢失.为了永久性的保存大量的数据,C语言提供了对文件的操作. 1.文件和流 C将每个文件简单地作为顺序字节流(如下图).每个文件用文件结束符结束,或者在特 ... 
- Codeforces  C. Sonya and Problem Wihtout a Legend(DP)
			Description Sonya was unable to think of a story for this problem, so here comes the formal descript ... 
- server 08 R2 NBL   报错:RPC 服务器在指定计算机上不可用
			排查步骤如下: 1.检查并确保 Remote Procedure Call (RPC) 和 Remote Procedure Call (RPC) Locator这两项服务是否都已经启动 2.确认此2 ... 
- iOS 开发之多线程之GCD
			1.GCD(Grand Centrol Dispath) 并行:宏观以及微观都是两个人再拿着两把铁锹在挖坑,一小时挖两个大坑 并发:宏观上是感觉他们都在挖坑,微观是他们是在使用一把铁锹挖坑,一小时后他 ... 
- BNUOJ 6727 Bone Collector
			Bone Collector Time Limit: 1000ms Memory Limit: 32768KB This problem will be judged on HDU. Origin ... 
- 微软.net一些类的源码
			地址:http://referencesource.microsoft.com/#mscorlib/system/collections/generic/dictionary.cs 关键字:refer ... 
- poj 3617Best Cow Line
			Description FJ is about to take his N (1 ≤ N ≤ 2,000) cows to the annual"Farmer of the Year&quo ... 
