美文网首页
过桥问题

过桥问题

作者: BankChang | 来源:发表于2017-02-28 16:01 被阅读0次

//有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥。这时是晚上。她们只有一个手电筒。最多只能让两个人同时过桥。不管是谁过桥,不管是一个人还是两个人,必须要带着手电筒。手电筒必须要传来传去,不能扔过去。每个女人过桥的速度不同,两个人的速度必须以较慢的那个人的速度过桥。//  第一个女人:过桥需要1分钟;//  第二个女人:过桥需要2分钟;//  第三个女人:过桥需要5分钟;//  第四个女人:过桥需要10分钟。//  比如,如果第一个女人与第4个女人首先过桥,等她们过去时,已经过去了10分钟。如果让第4个女人将手电筒送回去,那么等她到达桥的另一端时,总共用去了20分钟,行动也就失败了。怎样让这4个女人在17分钟内过桥?还有别的什么方法?

#includeint maxOfTheTwo(int x,int y){

return x < y ? y : x;

}

int minOfTheTwo(int x,int y){

return x < y ? x : y;

}

int minOfTheThree(int x,int y,int z){

int temp = x < y ? x : y;

return temp < z ? temp : z;

}

int main(int argc, const char * argv[]) {

// insert code here...

//将四人过桥时间放入数组time

int time[4] = {2,5,10,1};

//对time进行升序排列

int temp;

for (int k=0; k<3; k++) {

for (int m=k+1; m<4; m++) {

if (time[k] > time[m]) {

temp = time[k];

time[k] = time[m];

time[m] = temp;

}

}

}

//将time元素按顺序赋给ABCD

int A,B,C,D;

A = time[0];

B = time[1];

C = time[2];

D = time[3];

printf("%d\n",A);

printf("%d\n",B);

printf("%d\n",C);

printf("%d\n",D);

int sum = 0;

//最小两个一起过(A、B)

//    sum += B;

sum += maxOfTheTwo(A, B);

//对岸现在是A、B    A、B中最小的A返回

//    sum += A;

sum += minOfTheTwo(A, B);

//最大两个一起过(C、D)

//    sum += D;

sum += maxOfTheTwo(C, D);

//对岸现在是B、C、D    B、C、D中最小的B返回

//    sum += B;

sum += minOfTheThree(B, C, D);

//现在还没过河的是A、B  一起过河

//    sum += B;

sum += maxOfTheTwo(A, B);

printf("过河时间是 ---- %d\n",sum);

return 0;

}

相关文章

  • 过桥问题

    //有4个女人要过一座桥。她们都站在桥的某一边,要让她们在17分钟内全部通过这座桥。这时是晚上。她们只有一个手电筒...

  • 过桥问题的贪心解法

    过桥问题: 黑夜,只有一只手电筒A过桥需要1sB过桥需要3sC过桥需要5sD过桥需要8sE过桥需要12s求最小过桥...

  • ACM输入+过桥问题

    {int a,b;while(scanf("%d %d",&a, &b) != EOF) // 输入结束时,sca...

  • 四人过桥问题

    一、问题 漆黑的夜里,四位旅行者来到了一座狭窄且没有护栏的小桥。如果不借助手电筒的话,大家是无论如何也不敢过桥的。...

  • 过桥问题之——信使模型

    最近看动态规划,发现经典的过桥问题,描述如下:【例题1】在一个夜黑风高的晚上,有n(n <= 50)个小朋友在桥的...

  • 过桥米线不过桥

    文|夏默 “让一让,别跑!”杨秀才像风一样奔跑在拥挤的闹市,只是县城百姓太多,叫卖的,逛街的,杀猪的,看热闹的,官...

  • 使用A星算法解决过桥问题

    上周朋友提到一个智力题: 有4个人在晚上通过一座摇摇欲坠的小桥,并且每次只能让2个人过去。过桥的人必须要用到手电筒...

  • 过桥

    根据行程显示,我们于N天前经过了黄河大桥,并于三或五分钟前经过了长江大桥。此时,我正坐在一辆飞快行驶在高速...

  • 过桥

    我站在长江之巅 吸半腔1916 便吐了满江云烟 此刻更想有你 踏破1670 闲情漫步江边

  • 过桥

    过大桥时,电瓶车快,脚踏车慢,靠边避让,行人匆匆,接二连三。时近黄昏,红日西沉,金光四射,潮水东流,波光跳...

网友评论

      本文标题:过桥问题

      本文链接:https://www.haomeiwen.com/subject/svwxgttx.html