E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
hdu2176
ACM-尼姆博弈之取(m堆)石子游戏——
hdu2176
取(m堆)石子游戏TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1486AcceptedSubmission(s):865ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如
ltree98
·
2020-08-13 15:26
ACM-博弈
漫漫刷题路
HDU2176
【 Nim博弈】 SG函数求解
取(m堆)石子游戏m堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一堆取走7个剩下3个.Input输入有多组.每组第1行是m,mai,即从第i堆中取走的石子个数大于总个数,那么就不可以从这
紫芝
·
2020-08-13 10:33
博弈论
hdu2176
取(m堆)石子游戏(nim博弈)
取(m堆)石子游戏TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):2713AcceptedSubmission(s):1617ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例
随心丶而遇
·
2016-08-05 00:55
ACM—数论
ACM—博弈
各OJ刷题专栏
HDU2176
(Nim博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176题目大意:中文题目解题思路:非常典型的Nim博弈问题,只是用到了Nim博弈进一步的一个结论。首先求所有数目的异或,得到一个结果k,然后判断k,若k为0,则先手败,若k不为0,则先手胜,这时要输出先手的所有取子方案。求每一个数字Ni和k的异或,结果为p,若p小于Ni,则从该堆中取可以获胜,并且应该取
T_world
·
2016-04-30 10:23
博弈
HDU2176
(Nim博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2176题目大意:中文题目解题思路:非常典型的Nim博弈问题,只是用到了Nim博弈进一步的一个结论。首先求所有数目的异或,得到一个结果k,然后判断k,若k为0,则先手败,若k不为0,则先手胜,这时要输出先手的所有取子方案。求每一个数字Ni和k的异或,结果为p,若p小于Ni,则从该堆中取可以获胜,并且应该取
Runner__1
·
2016-04-30 10:00
nim博弈
hdu2176
取(m堆)石子游戏
传送门:点击打开链接题意:m堆石子轮流取,每次只能对一堆操作,每次必须要取,取的石子数量没有上限。第一个取完的胜利。问最后是否能赢,第一步要怎样才能赢、思路:nim博弈,根据SG函数定理,如果是独立游戏,那么应该是所有独立游戏的SG函数的异或值。很容易可以发现,对于每一堆石子的SG函数都等于石子的个数,所以就相当于求所有石子个数的异或值看是否等于0,如果等于,说明先手必输,否则说明先手必赢#inc
qwb492859377
·
2015-12-10 18:00
HDU 2176 取(m堆)石子游戏
HDU2176
取(m堆)石子游戏ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆5,7,8,9,10先取者胜
qq_21120027
·
2015-08-21 18:00
博弈
hdu2176
取(m堆)石子游戏
思路:nim博弈。将m堆石子数量异或,如果结果不为0输出Yes,否则输出No。关于方案,将异或的结果再逐个异或,如果得到的数不大于它本身,就可以输出。#include #include #include #include #include #include #include #include #include #include #include #include #include #inc
squee_spoon
·
2014-09-30 13:00
尼姆博弈
hdu1850 Being a Good Boy in Spring Festival ,尼姆博弈(Mimm game),Min sum
hdu2176
poj2975
题意:桌子上有M堆扑克牌;每堆牌的数量分别为Ni(i=1…M);两人轮流进行;每走一步可以任意选择一堆并取走其中的任意张牌;桌子上的扑克全部取光,则游戏结束;最后一次取牌的人为胜者。题解:尼姆博奕(NimmGame)Nim-sum=0 必败态先求所有堆的Nim-sum=N1^N2^...NM然后res=Nim-sum^Ni如果res #include #include usingnamespace
yew1eb
·
2014-08-22 14:00
ACM-尼姆博弈之取(m堆)石子游戏——
hdu2176
取(m堆)石子游戏TimeLimit:3000/1000MS(Java/Others) MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1486 AcceptedSubmission(s):865ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输
lx417147512
·
2014-05-02 15:00
ACM
尼姆博弈
取m堆石子游戏
hdu2176
改变奇异态
HDU 2176 取(m堆)石子游戏
题目链接:
HDU2176
取(m堆)石子游戏尼姆博弈。讲解:有三堆各若干个物品,两个人轮流从某一堆取任意多的物品,规定每次至少取一个,多者不限,最后取光者得胜。
fobdddf
·
2014-03-16 11:00
hdu2176
取(m堆)石子游戏 nim博弈
还是nim博弈求先手方案的问题,N堆石子,每次可以选择一堆取走若干个,问先手有多少中取法可以必胜。必胜的话,输出所有方案,即若存在一堆数量为a的石子,取完后还剩下b个可以必胜就输出ab。先取第i堆的话,其他堆异或的结果为B,那么(Ai-x)xorB==0时,说明从Ai中取走x可以留给对手一个必败态,所以对每一堆求出x后,判断一下x是否小于Ai,若小于则答案++,记录下来取法。#include
yanglei040
·
2014-02-23 01:00
HDU2176
取(m堆)石子游戏
ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一堆取走7个剩下3个. Input输入有多组.每组第1行是m,m #include #include u
starcuan
·
2014-02-08 00:00
博弈
HDU2176
:取(m堆)石子游戏(Nim)
ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如5堆5,7,8,9,10先取者胜,先取者第1次取时可以从有8个的那一堆取走7个剩下1个,也可以从有9个的中那一堆取走9个剩下0个,也可以从有10个的中那一堆取走7个剩下3个. Input输入有多组.每组第1行是m,m #include #include
libin56842
·
2013-12-18 19:00
HDU
博弈
hdu2176
取(m堆)石子游戏
取(m堆)石子游戏TimeLimit:3000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):1194AcceptedSubmission(s):715ProblemDescriptionm堆石子,两人轮流取.只能在1堆中取.取完者胜.先取者负输出No.先取者胜输出Yes,然后输出怎样取子.例如
u010422038
·
2013-09-29 19:00
HDU2176
取(m堆)石子游戏
Nim博弈解法和HDU1850相似:http://blog.csdn.net/qinmusiyan/article/details/7949557#include #include usingnamespacestd; constintN=200002; inta[N]; intmain() { intm,sum,s,i; while(scanf("%d",&m)!=EOF&&m) { sum=0
qinmusiyan
·
2012-09-06 11:00
上一页
1
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他