码迷,mamicode.com
首页 > 其他好文 > 详细

POJ1704

时间:2014-07-25 02:23:44      阅读:234      评论:0      收藏:0      [点我收藏+]

标签:问题   poj   简单   第一个   移动   影响   oj   b   

问题重述:

已知n个棋子在一个一维棋盘上的摆放位置,两个人轮流走棋,每次只能把一个棋子往左移任意距离,但是不能越过前面的棋子和第一个格子。直到轮到某人时无棋可走,则另一个人获胜。

 

分析:

把n个棋子从右往左两两组成一对。若多出一个棋子,则假设0位置有颗棋子,与第一个棋子组成一对。每个人的目标都是通过走棋之后使得每对棋子内的间距为0 :假设A走棋之后,达到了这样的状态,那么B就只能移动每对棋子中左边的棋子,然后A就移动该对棋子中右边的棋子,使得这对棋子内间距保持0,那么A必将获胜。因此可以想象,相邻棋子对间的间距对胜负并不影响。

首先计算出每对棋子间的间距,那么每次走棋的结果仅仅是减少某个间距的值。(事实上,问题已经转化为取石子问题,可以采用非常简单的办法求解,但是解题时并不了解取石子问题。)同样从后往前两两组成一对,若多出一个间距,则与0组成一对。

POJ1704,布布扣,bubuko.com

POJ1704

标签:问题   poj   简单   第一个   移动   影响   oj   b   

原文地址:http://www.cnblogs.com/junxie/p/3866605.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!