注册 登录
编程论坛 C++教室

一道编程题

zinking 发布于 2005-09-27 17:08, 2960 次点击

3个商人各带一个随从乘船渡河,现有一只小船只能容纳两个人,由他们自己划行。若在河的任一岸的随从数多于商人,他们就可能抢劫财物。但渡河的方案由商人制定。试编制一个程序,求解出可行的所有的决策,

要求能计算n个商人的情况,当然n不会很大

14 回复
#2
zinking2005-09-27 18:57
希望大家踊跃答题,提出不同的思路,不同的模型,不同的算法,正确,优秀的给与积分奖励!!!!!!!
#3
kai2005-09-28 07:56
zinking, 你的路子跟我不大一样,看了你的一些帖子,觉得你受那些学究派的影响很重。把精力和重点都放到这种趣味题上去了,对理论的角角落落都不放过。我觉得这完全没有必要。如果有时间还是实实在在的做几个项目,那么实战的经验就积累起来了。这个对你以后的工作才是真正有帮助的。 你这个商人摆渡的题有什么意义呢?拿到哪家公司去,哪家公司都不会看的。 如果你写个办公软件,不管写得好坏,拿到哪家公司去,哪家公司都会认真看一下的。至少运行一遍。 你说我说的是不是?
#4
lisypro2005-09-28 10:00
kai你有什么项目么?让我们看看
#5
Knocker2005-09-28 10:06

KAI,我又要来与你作对了。^_^ 我很不赞同你的看法,或者可以说是非常反对你的观点。 [QUOTE]你这个商人摆渡的题有什么意义呢?拿到哪家公司去,哪家公司都不会看的。 如果你写个办公软件,不管写得好坏,拿到哪家公司去,哪家公司都会认真看一下的。至少运行一遍。[/QUOTE] 仅此题本身而言是没有实际上的应用价值,是没有一个公司会看上一眼。你把这类题叫做趣味题,是,是趣味题,但是,做它的目的不是为“趣味”而“趣味”。目的是煅炼思维方式,拓展思路。相对于做一个工程得到的经验或知识,前者是得到的经验或知识是一个广泛意义上的经验或知识,后者是一个局部的狭隘的的经验或知识。(此处我不知道怎么表达,我知道我这样说是有问题,因为后者得到的也不完全是一个局部的狭隘的的经验或知识,我这样说只是想特出这一点) 为什么这么说?前者得到的经验或知识,可以在不同的工程、不同的语言、不同编译器应用。而后者,却是具体到某一问题的的经验或知识。 一个良好的思维方式或者说一个具有拓展性的思考对程序员来说是相当重要的,而不是API。对API的无知是可以即时弥补的,比如,你可以随时备一个win API大全。而对没有一个良好的思维方式或者说不具有拓展性的思考对程序员来说是致命的,你写的程序是没有效率的。 我看到这么一句话;CPU是客户的,不是程序员的。 我也不否认,做一个工程或者也能得到一些思维方式煅炼,但是,我觉得不会有多少也不应该有多少。 所以两者都不可少。特别是你说的趣味题,我认为不但初学阶段该做(但是,我不提倡过份),而且任何一个阶段都应该“温故而知新”。

#6
kai2005-09-28 12:28
偶尔做做趣味题,是完全可以的。对于初学者来讲,做趣味题是必经之路,谁也免不了。因为在你还没有掌握一门语言的时候,让你去做Project 也是不现实的。通过做做那些趣味题,一来可以熟练你的语言能力,二来可以锻炼思维。这些都是不可否认的。

但是,现在的局面是什么呢?学校的老师就跟大家讲讲趣味题,与实际脱节,导致学生出来以后,与实际工作不能接轨。你要知道,公司里是不需要这些趣味题的,需要你真正解决问题的能力。请注意,这个能力既包括你的思维能力,也包括了你的实际经验,这个经验不是看一下Api参考书就能看出来的。没有2,3年的从事项目开发,就没有这个经验。

Sun 的JDoc 都放在网上了,那些Api 函数,你随时可以看,但是,这是否表示看完以后,你就会编程了呢?根本不是这么回事。你只有自己碰到问题了,然后通过努力解决了,那么这个经验就积累了。这个经验是宝贵的,没有这个经验,你在一个问题之前可能就寸步难行。

如果一个程序员不能独立思维,不能在逻辑层面上找到解决问题的方法,那么这个人作为一个程序员本身就是一件不合理的事情,对他本人来讲,工作也没什么快乐可言了。

面对一个实际的项目,本身就需要你的广义的经验和知识,这里面并没有什么矛盾之处。

我只是想建议大家,在适当的时候,向实际项目转型。不要沉迷于那些趣味题。
#7
zinking2005-09-28 15:09
一个星期后公布数学模型。大家赶快阿!!!!!
#8
zinking2005-09-29 18:55
离公布模型还有6天,大家赶快阿
#9
热情依然2005-09-30 11:43
这些趣味题目没有意义,有本事的将二叉树的求深度用栈来模拟递归,看看大家是否真的弄懂了递归 另外 我完全赞同 kai 的讲法
#10
zinking2005-09-30 12:17
离公布模型还有5天,大家赶快阿
#11
zinking2005-09-30 12:20
我希望大家对题目有解答或想法的跟贴,要是没有想法只是对这道题目有意见的请信息联系我。
不要再跟没意思的帖子
#12
vblue1302005-10-01 14:00
学习一下
#13
alswl2007-07-10 19:48

好久远的帖子啊。
当初我知道编程中国的时候还是高一,而现在都快大二了。

#14
野比2007-07-11 20:44

这个和76道里的"传教士与野人"问题有区别吗?

不知道是谁设的精华帖, 如果这题能算精华的话(虽然它很经典), 那么我想76道题里起码有一半能评为精华了..
zinking你这么喜欢思考题, 我想那76道可以供你消遣消遣

#15
return_02020-02-19 19:56
这些趣味题有着天大的意义,对于初学者来说,他们需要一些他们愿意花时间做的题,我觉得学习最重要的永远不是能力,而是兴趣,你们不要用实力来诱惑初学者,初学者希望他能够更深入的了解编程语言,你们不要打破他们的兴趣。还有,谁说做趣味题不能与实际接轨啦,我告诉你们,趣味题≠不专业的题,你们不要破坏学习的本质,学习以兴趣为目标,实力以兴趣为基础,好吗?
1