翻棋子游戏与Nim游戏

翻棋子游戏:


题意:一个棋盘上每个格子有一个棋子,每次操作可以随便选一个朝上的棋子(x,y),代表第i行第j列的棋子,选择一个形

(x,b)或(a,y)(其中b < y,a < x)的棋子,然后把它和(x,y)一起翻转,无法操作的人输。


分析:把坐标为(x,y)的棋子看成大小分别为x和y的两堆石子,则本题转化为了经典的Nim游戏,如果难以把棋子看作石

子,可以先把Nim游戏中的一堆石子看成一个正整数,则Nim游戏中的每次操作是把其中一个正整数减小或者删除。





除法游戏:


题目:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2959


题意:有一个n*m的矩阵,每个元素均为2~10000之间的正整数。两个游戏者轮流操作。每次可以选一行中的1个或者多个于1的整数,把

它们中的每个数都变成它的某个真因子,比如12可以变成1,2,3,4或者6,不能操作的输(换句话说,如果操作之前,

矩阵中的所有数都是1,则他输)。


分析:考虑每个数的素因子个数,比如12包含3个素因子,则让一个数变成它的真因子等价于拿掉它的一个或者多个素因

子。这样,每行对应于一个石堆,每个数的每个素因子看成是一颗石子,则本题就和Nim游戏完全等价了。




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值