| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1000 人关注过本帖
标题:[求助]高手们帮忙看看
只看楼主 加入收藏
他们
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-3-22
收藏
 问题点数:0 回复次数:8 
[求助]高手们帮忙看看
        四名商人各带一个随从乘船渡河,一只小船只能容纳二人,由他们自己划行。随从们密约,在河的任一岸,一旦随从的人数比商人多,就杀人越货。但是如何乘船渡河的大权掌握在商人们手中。商人们怎样才能安全渡河呢?
搜索更多相关主题的帖子: 安全 如何 
2005-11-07 19:12
hunprince
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-10-23
收藏
得分:0 
叫一个随从撑船,带一个商人到对岸,在带一个随从这样应该可以吧
2005-11-07 20:26
他们
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-3-22
收藏
得分:0 

2楼的,没你说的这么简单.

这是我在网上找的别人写好的.大家看看.

#include <stdio.h>
int N;
int num=0;
int S[100][2];
int fit=0;
int p;
int q;

int check(int m,int n,int u,int v,int total)
{
int i;

if(total%2==0)
{
u=u-m;
v=v-n;

}
else {
u=u+m;
v=v+n;
}
for(i=0;i<total+1;i++)
{

if((u==S[i][0])&&(v==S[i][1])&&((total+1)%2==i%2))
{
return 0;}
}
if((u==0)&&(v==0))
return 2;
else
{
if(u<0||v<0||(N-u)<0||(N-v)<0)
{

return 0;}
if((u==v)||(u==0)||u==N)
return 1;
else
{
return 0; }
}

}

void act(int total,int u,int v)
{

int i;
int j;
int a=0;
int flag=0;

if(total>num)
{
num=total;
}
for(i=0;i<=p;i++)
{
for(j=0;j<=q;j++)
{
if((i==0)&&(j==0))
continue;
if((i+j)<=2)
{flag=check(i,j,u,v,total);

if(flag==2)
{
printf("\n");
for(a=0;a<total+1;a++)
printf("(%d,%d)->",S[a][0],S[a][1]);
printf("(0,0)");
fit=1;
return;

}
else if(flag)
{

if(total%2==0)
{
S[total+1][0]=u-i;
S[total+1][1]=v-j;
act(total+1,u-i,v-j);
}
else
{
S[total+1][0]=u+i;
S[total+1][1]=v+j;
act(total+1,u+i,v+j);
}
}
}
}
}
S[total][0]=0;
S[total][1]=0;

}

main()
{
printf("please enter the num:");
scanf("%d",&N);
printf("please enter the capacity of mercher:");
scanf("%d",&p);
printf("please enter the capacity of salave:");
scanf("%d",&q);
S[0][0]=N;
S[0][1]=N;
act(0,N,N);
if(fit==0)
printf("There is no proporate answer.");
getch();
}


2005-11-07 20:30
csjcharles
Rank: 1
等 级:新手上路
帖 子:36
专家分:0
注 册:2005-11-7
收藏
得分:0 

请问下由他们划床指的就是商人吗?

2005-11-07 20:36
他们的学生
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2005-11-8
收藏
得分:0 

黑客!
我是陈传军!
我来了!
以后有什么事还得请你帮忙,我就靠你混了!


2005-11-08 17:27
无铭剑客
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2005-10-31
收藏
得分:0 
真是太难了
2005-11-09 07:38
q61668981
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-11-10
收藏
得分:0 
16个循环?
2005-11-10 19:21
他们
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-3-22
收藏
得分:0 

他们的学生,好呀。以后常来呀。我喜欢这里。


2005-11-12 16:35
juxianxiang
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-11-12
收藏
得分:0 
这是数学建模的一个典型例子,很烦的,我是学数学的,老师讲过,我一点不懂,好难啊!

2005-11-12 19:30
快速回复:[求助]高手们帮忙看看
数据加载中...
 
   



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

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