黑马程序员技术交流社区

标题: 看到csdn上的一道程序设计赛题。和大家探讨一下。。。 [打印本页]

作者: ReFly    时间: 2013-12-11 01:13
标题: 看到csdn上的一道程序设计赛题。和大家探讨一下。。。
甲乙两个人用一个英语单词玩游戏。两个人轮流进行,每个人每次从中删掉任意一个字母,如果剩余的字母序列是严格单调递增的(按字典序a < b < c <....<z),则这个人胜利。两个人都足够聪明(即如果有赢的方案,都不会选输的方案 ),甲先开始,问他能赢么?
输入: 一连串英文小写字母,长度不超过15,保证最开始的状态不是一个严格单增的序列。
输出:1表示甲可以赢,0表示甲不能赢。
例如: 输入 bad, 则甲可以删掉b或者a,剩余的是ad或者bd,他就赢了,输出1。
又如: 输入 aaa, 则甲只能删掉1个a,乙删掉一个a,剩余1个a,乙获胜,输出0。

函数头部:
C:int who (const char * word);
C++:int who (string word);
Java:public static int who(String in);
C# :public static  int who(string word);
作者: ReFly    时间: 2013-12-11 01:17
本帖最后由 ReFly 于 2013-12-11 01:20 编辑

题目原地址: http://hero.pongo.cn/Question/Details?ID=168&ExamID=163
作者: ysunday    时间: 2013-12-12 20:07
这个。。。唉,算法的东西还真是不太会   找c++的那帮人吧  或者直接百度好了 这个关键是思想
作者: 赵晓海    时间: 2013-12-12 20:26
我去做一下{:soso_e113:}
作者: ysunday    时间: 2013-12-12 20:31
赵晓海 发表于 2013-12-12 20:26
我去做一下

加油小哥

作者: 赵晓海    时间: 2013-12-12 21:48
ysunday 发表于 2013-12-12 20:31
加油小哥

哎,我先放弃了,做了一个小时,原来最难的是确定先删除哪一个。从一开始目标就错了,估计要想一个晚上了!
作者: 赵晓海    时间: 2013-12-12 22:53
又用了一个小时,能判断了,但是貌似还是不对。求测试用例
作者: 赵晓海    时间: 2013-12-13 13:49
本帖最后由 赵晓海 于 2013-12-13 14:19 编辑

算了,不整了
作者: ReFly    时间: 2013-12-13 14:33
赵晓海 发表于 2013-12-13 13:49
算了,不整了

本来就看不出来,就是要你算,最后结果谁会赢。你的思路有道理。要么你取一个后你赢,要么你取一个后,别再取的时候你不会输。。。
作者: ReFly    时间: 2013-12-13 14:45
ReFly 发表于 2013-12-13 14:33
本来就看不出来,就是要你算,最后结果谁会赢。你的思路有道理。要么你取一个后你赢,要么你取一个后,别 ...

大致看了一下,思路和我的差不多。

你去csdn上测试一下。系统有很多测试用例,一下测出你代码是否100%正确。。。


作者: 赵晓海    时间: 2013-12-13 23:40
本帖最后由 赵晓海 于 2013-12-14 00:32 编辑
ReFly 发表于 2013-12-13 14:45
大致看了一下,思路和我的差不多。

你去csdn上测试一下。系统有很多测试用例,一下测出你代码是否100%正 ...

原来是挑战赛啊,明天把代码放到上面去测试下,我估计不会成功,比较耗时{:soso_e101:}




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2