查看完整版本: 3分钟内找出答案的人具有编程的潜力

瞬间数字 2006-10-21 09:36

3分钟内找出答案的人具有编程的潜力

3分钟内找出答案的人具有编程的潜力

[size=12px]天黑,雨,四人欲过一座桥.桥破旧,每次最多能容两人同时通过.且只有一支手电(过桥必须用手电).

甲单独过桥需1分钟,乙需2分钟,丙需5分钟,丁需7分钟.

则四人全部通过的最短时间是多少.

呵呵,试试看.[/size]

xtaflf 2006-10-21 10:12

甲乙过 2分钟
甲回 1分钟
丙丁过 7分钟
乙回 2分钟
甲乙过 2分钟
最后答案14分钟。。。。

瞬间数字 2006-10-21 13:45

哈哈  不对  不对  等顶够30贴我再说说答案。。。

源仔 2006-10-21 14:22

呵呵~~还要30那么多啊!:o :o :o

杨若瑜 2006-10-21 15:45

一共8分钟,丁和甲一起走,丁走到中间的时候停住,用手电给桥的左右照明,然后通过乙.最后通过丙的时候,丁同时走,于是顺利通过

Ifseven 2006-10-21 17:12

ZWJ

答案不一定,因为条件不确定,情况随机性大.

杨若瑜 2006-10-21 18:15

94,长翅膀飞过去也没准

瞬间数字 2006-10-21 19:21

楼上说说怎么算7分的  听想来者

catwork 2006-10-22 11:41

楼上的好有创意!~
还是等答案吧
我在想这个题作成变成题会怎样?:time:

bailang 2006-10-22 12:04

我看是看谁数学好不好,那是编程潜力呀,当然我也不否认编程和数学有很大的关系,不过要说潜力那我认为这个就不准了~!

源仔 2006-10-22 12:54

利用求图的最小生成树的算法,很容易解决
#include
#include

int a[4]={1,2,5,7}; //每人过河时间
int mark[4]; //0左1右
int mark1[100]; //状态控制,只有2^4*2=32种状态
int min;//最短时间

int test(int light) //返回状态值
{
int i,j;
j=0;
for(i=0;i<4;i++)
{
j*=2;
j+=mark;
}
j*=2;
j+=light;
return j;
}

int search(int time,int light) //搜索
{
int state;
int i,j,stime;

state=test(light);
if(state==31) //终态:人和手电都在右岸
{
if(time return 1;
}

if(mark1[state]==1) return 0;

mark1[state]=1;

for(i=0;i<4;i++) //1人
{
if(mark==light)
{
mark=!mark;
stime=a;
search(time+stime,!light);
mark=!mark;
}
}

for(i=0;i<4;i++) //2人
{
if(mark==light)
{
mark=!mark;

for(j=i+1;j<4;j++)
{
if(mark[j]==light)
{
mark[j]=!mark[j];
stime=a[j]>a?a[j]:a;

search(time+stime,!light);
mark[j]=!mark[j];
}
}

mark=!mark;
}
}


mark1[state]=0;
return 0;
}

void main()
{
memset(mark,0,sizeof(mark));
memset(mark1,0,sizeof(mark1));

min=100;

search(0,0);

printf("%d\n",min);
}
结果是14分钟。
提供一个思路:让走的慢的两人同时过桥。
:'( 不知道对不对.......................................

瞬间数字 2006-10-22 14:13

提供一下网络上的思路想法:
天黑(声明变量)||(不会吧没有电灯的黑夜)
,雨,(声明变量环境)||(雨这多西大家都知道走路会变滑的)
四人欲过一座桥.(声明人的数量)||(四个人一起够桥呀)
(桥破旧,每次最多能容两人同时通过.且只有一支手电(过桥必须用手电). (程序条件)||(为了大家的安

全把手电放在一个可以照到一座桥的地方)||(谁叫你条件不些清楚)

甲单独过桥需1分钟(声明甲要的时间)
,乙需2分钟,((声明已要的时间)
丙需5分钟,(声明丙要的时间)
丁需7分钟. (声明钉要的时间)

则四人全部通过的最短时间是多少. (到了最后)||(呵呵 丁要7分钟,其他和为7分钟,没办法,)
只有要7分钟就可以走了,,(要四甲背着其他三个人,那1分钟就可以了)
呵呵,,如果是玩具桥的话,,,,那想想呀

瞬间数字 2006-10-22 14:16

还有一个挺有创意的想法:
天黑,雨,四人欲过一座桥.桥破旧,每次最多能容两人同时通过.且只有一支手电(过桥必须用手电).

甲单独过桥需1分钟,乙需2分钟,丙需5分钟,丁需7分钟.



也就是说桥上只要有一只手电就可以了对吗?
那可以由丁拿手电与甲一起出发,一分钟后乙出发,三分钟后丙出发,丁在超过丙时把手电交付给丙

[[i] 本帖最后由 瞬间数字 于 2006-10-22 14:17 编辑 [/i]]

源仔 2006-10-22 14:32

...........IQ题啊.....

我色盲看到以为是编程题.......

[img]http://www.fishjava.com/img/3a267c17/1a988e7920813721590b9.jpg[/img]

kingenry 2006-10-22 17:11

a  !!!!!!!!!!!!!!!!!!居然是这样的答案

噬魂 2006-10-22 20:09

a  !!!!!!!!!!!!!!!!!!居然是这样的答案,实在强!

瞬间数字 2006-10-22 21:24

回复 #19 源仔 的帖子

不对  不对  我说的不是答案  我只是说说网络上的一些其他的新颖想法而已  还是希望大家什么方法都用

catwork 2006-10-22 21:57

[quote]原帖由 [i]瞬间数字[/i] 于 2006-10-22 14:16 发表
还有一个挺有创意的想法:
天黑,雨,四人欲过一座桥.桥破旧,每次最多能容两人同时通过.且只有一支手电(过桥必须用手电).

甲单独过桥需1分钟,乙需2分钟,丙需5分钟,丁需7分钟.



也就是说桥上只要有一只手电就可以了 ... [/quote]

比较认同这个方法,我觉得题目规定应该是只有两个人能在桥上
那么这个应该是最好的方法了

果凍西西 2006-10-23 14:14

[quote]原帖由 [i]瞬间数字[/i] 于 2006-10-21 19:21 发表
楼上说说怎么算7分的  听想来者 [/quote]
汗~~~~ 前面说的 都有可能啊!  可惜我也不知道   等等看看是啥
应该是7分中吧  不让LZ就不会问  说7分中的回复了  呵呵

瞬间数字 2006-10-23 17:49

回复 #24 果凍西西 的帖子

嘿嘿  你猜错拉~
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 3分钟内找出答案的人具有编程的潜力