| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 892 人关注过本帖
标题:求教高手一道题
只看楼主 加入收藏
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
结帖率:79.37%
收藏
已结贴  问题点数:20 回复次数:13 
求教高手一道题
/*
问题描述: ( 取棋子 ) 设有N颗棋子,由人和计算机轮流从中取走若干颗。每方每次最
 多取K颗,最少取1颗 (K值不能超过总数的一半,也不能小于1)。试编写一程
 序使计算机有较多的获胜机会。

    屏幕输入提示:

    (1) 输入竞赛规则:A. 取最后一颗棋子的那一方为败.
                      B. 取最后一颗棋子的那一方为胜.
    (2) 总共有多少颗棋子?
    (3) 一次最多取几颗?
    (4) 谁先取?
    (5) 每个回合都应显示: A. 你取几颗?
                          B. 我取走......颗,还剩......颗.
    (6) 竞赛过程中发生违例时,打印出:  竞赛无法进行下去!
    (7) 竞赛结束后打印:
    I win!(我胜!)或  You win!(你胜!)。
*/
此题确实有点难,现在还没有思路,请各位高手解答!
搜索更多相关主题的帖子: 计算机 
2010-08-27 09:44
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
竞赛规则怎么有两个呀?
2010-08-27 09:53
御坂美琴
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:魔術の禁書目錄
等 级:小飞侠
威 望:9
帖 子:952
专家分:2929
注 册:2010-8-18
收藏
得分:1 
% (k+1) 御坂提示道

永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-08-27 09:58
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
御坂,这题有详细代码放上来吗?主要是计算机的那个函数没有思路,望高手指点

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-27 10:01
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:10 
取最后一颗棋子的那一方为胜为规则时
到PC取子时
判断一下(num=当前剩余棋子数m%(k+1)),如果不为0,那么本回合pc就取走num颗棋子好了,以后user取x颗,pc就取k+1-x颗
如果结果等于0,那么pc取1到k颗都行,下回合继续判断。
另一规则情况可以类推。。。
收到的鲜花
  • sunyh19992010-08-27 18:26 送鲜花  26朵   附言:很好,不知能贴源代码否?

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-08-27 12:09
vandychan
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
等 级:贵宾
威 望:18
帖 子:2296
专家分:6418
注 册:2010-8-20
收藏
得分:2 
以下是引用succubus在2010-8-27 12:09:41的发言:

取最后一颗棋子的那一方为胜为规则时
到PC取子时
判断一下(num=当前剩余棋子数m%(k+1)),如果不为0,那么本回合pc就取走num颗棋子好了,以后user取x颗,pc就取k+1-x颗
如果结果等于0,那么pc取1到k颗都行,下回合继续判断。
另一规则情况可以类推。。。
你的意思 是不是说
让PC去取某数量后 剩余数目必须是偶数 或者基数?

到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-08-27 13:37
succubus
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:635
专家分:1080
注 册:2007-10-7
收藏
得分:5 
以下是引用vandychan在2010-8-27 13:37:16的发言:

你的意思 是不是说
让PC去取某数量后 剩余数目必须是偶数 或者基数?
后取获胜条件下
PC想必胜
那么就得轮到人取子时,棋子数量是(k+1)的整数倍,
这样在一个完整回合之内人取1,pc就取k;人取2,pc就取k-1;...;人取k,pc就取1
保持每个完整回合取掉的棋子数量都是k+1
那么最后取子的肯定是PC
也就是轮到PC取子时,PC的策略是取掉某数量棋子后,剩余数目必须是(k+1)的整数倍



[ 本帖最后由 succubus 于 2010-8-27 13:52 编辑 ]

[url=http:///view/aDU1]/image/aDU1.gif" border="0" />[/url]
2010-08-27 13:51
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
嗯,其实经常看到类似的题目。不过即使看了答案很快也忘了,对这种类型的题目确实挺无语的。
有些游戏的规则其实是不公平的,稍微研究一下,就能发现其中的奥妙。
但我老是不喜欢自己想,还是看别人答案爽,学习至上~
2010-08-27 14:21
sunyh1999
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:14
帖 子:1178
专家分:3032
注 册:2009-5-17
收藏
得分:0 
回复 5楼 succubus
是否能将详细代码写出来?

欢迎来到我的博客:http://blog..cn/noisunyuhong
2010-08-27 18:22
卧龙孔明
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:59
帖 子:3872
专家分:684
注 册:2006-10-13
收藏
得分:2 
法1: 上sg函数
法2: 直接dp

My Blog: www.aiexp.info
虽然我的路是从这里开始的,但是这里不再是乐土.感谢曾经影响过,引导过,帮助过我的董凯,飞燕,leeco,starwing,Rockcarry,soft_wind等等等等.别了,BCCN.
2010-08-27 18:37
快速回复:求教高手一道题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024848 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved