作业帮 > 综合 > 作业

(用c++语言表达)有四个人夜间过一座独木桥,而这座独木桥一次最多允许两人同时通过,

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/18 23:33:44
(用c++语言表达)有四个人夜间过一座独木桥,而这座独木桥一次最多允许两人同时通过,
他们只有一只手电筒.而过桥的时候必须持有手电筒,所以就得有人把手电筒带来带去.两人同行时以较慢者的速度为准,四人过桥时间分别是1分、2分、5分和10分.求最短时间,(1)1分钟的和2分钟的先过桥,1分钟的回来,(此时共耗时3分钟),(2)5分钟的和10分钟的过桥,2分钟的回来(共耗时2+1+10+2=15分钟),(3)1分钟的和2分钟的过桥(共耗时2+1+10+2+2=17分钟),共耗时17分钟. 求用c++语言表达并得出17~
(用c++语言表达)有四个人夜间过一座独木桥,而这座独木桥一次最多允许两人同时通过,
#include <iostream>
#include <iomanip>

using namespace std;

struct person {
char name[10];
int ptime;
};

// 按过桥时间从小到大排序
void Sort(struct person a[],int n) {
int i,j,k;
struct person aone;
for(i = 0; i < n - 1; ++i) {
k = i;
for(j = i + 1; j < n; ++j) {
if(a[k].ptime > a[j].ptime)
k = j;
}
if(i != k) {
aone = a[k];
a[k] = a[i];
a[i] = aone;
}
}
}

int main() {
struct person a[] = {{"John",12},{"Park",3},{"Mike",9},{"Doson",6},{"Jodan",10}};
int n = sizeof(a) / sizeof(a[0]);
int i,ttime = 0;
Sort(a,n);
for(i = 1; i < n; ++i)
ttime += 2 * a[0].ptime + a[i].ptime;
ttime -= a[0].ptime;
cout << "共需时间: " << ttime << "分!\n";
return 0;
}
(用c++语言表达)有四个人夜间过一座独木桥,而这座独木桥一次最多允许两人同时通过, 有四个人夜间过一座独木桥,他们只有一只手电筒.而这座独木桥一次最多允许两人同时通过,且过桥的时候必须 有四个人夜间过一座独木桥,他们只有一只手电筒.而这座独木桥一次最多允许两人同时通过,而过桥的时候必须持有手电筒,所以就得 有四个人夜间过一座独木桥,他们只有一只手电筒.而这 数学期末挑战卷练习卷四个人夜间过一座独木桥,他们只有一只手电筒.一次最多可以有两人一起过桥,而过桥的时候必须持有手电筒, 四人夜间过一座独木桥,他们有一只火把,只能维持16分钟,而桥一次只能过2人,每人速(其余在问题补充) 有两个人同时来到小河跟前,河上架着一座独木桥,宽度只能允许一个人通过,而这两个人同时过了桥,赶自己的路去了 语文动动脑, 四人夜间过一座独木桥,他们有一只每人速火把,只能维持16分钟,而桥一次只能过2人,每人速度为:1、2、5、 现在有A.B.C.D.四个人,他们在晚上要经过一座独木桥,此桥每次只能两人同行,他们只有一把手电筒!A过桥要1分钟,B要 现有甲乙丙丁四人晚上过独木桥,独木桥上最多只能让两人同时过独木桥,因此一个人就要不停的来回拿手电筒,现四人过独木桥的时间 晚上一家人一起过河,需过一独木桥,只有一个手电筒, 过桥最多只能让两个人同时过,过桥必须要带着手电筒 南来北往的两个人同时过一张独木桥,两人互不相让,桥只能容纳一个人通过,为什么他们两人都没有掉到水里