数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 3212|回复: 7

请各位大虾帮帮我啊!(急需)

[复制链接]
发表于 2004-5-6 05:36:41 | 显示全部楼层 |阅读模式
<>请各位大侠能帮我 用C语言编写一下
“三名商人各带一个随从乘船渡河,现有一只小船只能容纳两个人。由他们自己划行。若在河的任一岸的随从人数多于商人,他们就杀死商人。但如何乘船渡河是由商人决定。试给出商人安全渡船的方案。”</P>
<>由于 我是 刚刚 才 学 C 语言的,所以 就 麻烦 您 帮我用 C 语言 编写 一下 (最好做一写详尽的解说)                                       (请发到我的邮箱williamsgu@163.com)
                                             
                                                                                                   万分感谢!
                                                                                             <a href="mailtwilliamsgu@163.com" target="_blank" >williamsgu@163.com</A>  </P>
<>
</P>
发表于 2004-5-6 20:34:08 | 显示全部楼层
<>用递归算法。两个子程序。一个过河。一个返回河此岸。过河每次取两人。判断是否满足条件。满足则调用过河程序。</P><>我的算法。</P><>过河子程序。需要的参数(此岸的商人,下人,上次返回方案序号)</P><P>{取两人。1。判断两岸是否满足商人&gt;=下人 条件。不满足另取两人。(共2商,两下,1 商1下三种方案)</P><P>2判断是否是上次返回的人。是则另取两人。在判断1。</P><P>调用返回此岸函数</P><P>if(调用返回此岸函数返回值为1)记录过河方案(可用一个二潍数组)并返回1。否则另取2人。步骤1 。2。</P><P>三种方案(2商,两下,1 商1)都不行则返回0。</P><P>}</P><P>返回此岸(参数此岸商人,下人,上次过河序号)</P><P>{</P><P>取两人或一人(方案不多可用穷举法)。1。判断两岸是否满足商人&gt;=下人 条件。</P><P>2判断是否是上次过河的人。是则另取一种方案(防止死循环)。在判断1。</P><P>调过河函数</P><P>if(调用过河函数返回值为1)记录返回方案(可用一个二潍数组)并返回1。否则再重新取人返回此岸,都不行则返回0。</P><P>}</P><P>int    方案记录[100][100]</P><P>main()</P><P>{if(过河==0),无法过;</P><P>printf(方案记录[100][100])</P><P>}</P>
发表于 2004-5-6 20:38:20 | 显示全部楼层
<>具体怎么实现自己想想巴。看别人的程序不如看思路。我的程序我找不到了</P>
发表于 2004-5-9 03:44:26 | 显示全部楼层
<>返回此岸子函数还要加一个判断未过河的人是不是0。</P><>还可以用最短路算法。此岸有9种可能,彼岸9种可能。除去那些不满足条件的状态。如果一种状态可以变为另一种状态则这两种状态之间的距离为1。否则无穷。调用最短路算法子函数。就可以求解</P>
 楼主| 发表于 2004-5-11 00:16:41 | 显示全部楼层
<>好的!</P><>谢谢大虾!</P><>不过,能不能帮我做一下 完整 的原代码!</P>[em02]
发表于 2004-5-18 02:05:48 | 显示全部楼层
没语言了
发表于 2004-5-18 02:46:23 | 显示全部楼层
<>golden已经说得很清楚了,你自己写一写嘛!!</P><>我们不可能在比赛的时候替你写程序的嘛!</P>
发表于 2004-6-28 03:27:12 | 显示全部楼层
说得对
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-11-27 11:32 , Processed in 0.054679 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表