1 //问题:有3个传教士和3个野人要过河,只有一艘船,这艘船每次 2 //只能载2个人过河,且无论哪边野人的数量大于传教士的数量时, 3 //野人就会吃掉传教士。怎样让他们都安全过河? 4 5 #include <stdio.h> 6 #include <string.h> 7 8 #define STEP_MAX 20 //来回过河的次数
转载 2023-12-13 11:41:30
62阅读
过河问题一、问题描述二、问题答案三、扩展四、问题推广五、对于本题的最优选择:coding 一、问题描述在漆黑的夜里,甲乙丙丁共四位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥的。不幸的是,四个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,四人所需要的时间分别是1、2、5、8分钟;而如果两人同时过桥,所需要的时间就是走得比较慢的
# 8人过河问题Python解决方案 在集合论和算法的世界中,经典的过河问题往往会引发人们的兴趣。这类问题通常涉及规则和状态的转变。在众多过河问题中,8人过河问题尤为复杂,今天我们将对此进行探讨,并给出一个用Python实现的示例代码。 ## 问题描述 8人过河问题通常是这样的:有8个人需要过一条河。河上有一只小船,但是小船只能容纳2个人。过河的过程中,某些人会导致其他人处于危险之中。例如
原创 2024-09-19 05:53:40
133阅读
题目大意是只有一艘船,能乘2人,船的运行速度为2人中较慢一人的速度,过去后还需一个人把船划回来,问把n个人运到对岸,最少需要多久。先将所有人过河所需的时间按照升序排序,我们考虑把单独过河所需要时间最多的两个旅行者送到对岸去,有两种方式:1.最快的和次快的过河,然后最快的将船划回来;次慢的和最慢的过河,然后次快的将船划回来,所需时间为:t[0]+2*t[1]+t[n-1];2.最快的和最慢的过河,然
经典的过河问题:一个人(猎人)带了:一只鸡(羊),一条狗(狼),一袋米(草),遇到一条河,河边有一条船,船太小每次只能带一样东西,此人如何将自己的三件物品完好的带到对岸?(注:若是VS2010开发工具源码复制可直接运行,若是其他开发工具,可能要小部分修改,源码核心算法不用改动。具体实现请查看相应注释!此文仅供学习参考!)程序源码:// CrossRiver.cpp :定义控制台应用程序的入口点。/
在计算机科学和算法课程中,我们常常会提到经典的“过河问题”。这个问题要求在不同的情况下安全地将特定对象过河,例如狼、羊和白菜等组合。在这篇文章中,我们将探讨如何通过Java代码实现过河问题的解决方案,并详细分析其背后的原理、架构及源码。 ### 背景描述 “过河问题”起源于古代的逻辑游戏,近年来成为许多计算机科学课程中的经典案例。学习和理解这个问题可以帮助开发者深入理解算法设计与数据结构的结
原创 7月前
53阅读
题目大意:有n个人要过一条河,每个人过河都需要一个时间aiai,有一艘船,每次过河只能最多装两个人。两个人划船过河所需的时间都取决于过河时间长的那个人。比如,A,B两人过河所需时间分别为a,b,那么,他们成一条船过河所需的时间为:max{a,b}。现在让你安排一个过河方案,让所有人用最短的时间全部过河问题分析:首先,我们先来研究一个问题,就是在没过河的人有4个及4个以上的情况下,我们设其中四人为
转载 2023-11-07 11:21:52
161阅读
农夫、羊、狼、菜的过河问题问题描述角色:农夫,羊,狼,菜条件1:船很小,只能装下农夫和其他一个角色条件2:无人看管,羊吃菜,狼吃羊问:如何让其他三种角色被农夫平安带着过河?相关分析我们可以先用人脑尝试一下相关渡河策略 1 ) 先渡狼,人回来再渡菜,人回来再渡羊2 ) 先渡菜,人回来再渡狼,人回来再渡羊以上两种很好想到,而且我们可以知道羊这种角色是不能先渡河过去的,羊需要最后再渡如果先渡了羊了
# 商人过河问题:经典的逻辑难题 商人过河问题(也称为“过河问题”)是一个经典的逻辑推理问题,它在计算机科学、数学和游戏理论中都有广泛的应用。在这个问题中,一个商人需要过一条河,船只能容纳商人和他的一些物品,但有一些限制,必须遵循特定的规则。让我们详细探讨这个问题,并通过 Python 代码来实现解决方案。 ## 问题描述 商人有三个物品:一只狼、一只羊和一筐白菜。他需要将它们从河的一岸运到
原创 2024-09-19 07:10:26
60阅读
过河问题定义问题定义过河问题是一个经典的算法问题。假设有只牛和只虎要过河,河中只有一条船,船至多能乘坐只动物。在河的任意一边或船上,虎的数量不能多于牛的数量,否则牛会被吃掉。问:是否存在合理的渡河方案,使得所有动物能够安全过河?若存在,输出最少过河次数的渡河方案。 牛虎过河问题衍生出很多同类问题,如农夫与强盗过河、传教士与野人过河等等,换汤不换药,问题的解法完全相同。解题思路此类问题先定义好状态空
      下面通过一些典型实例及其扩展来讨论递推法的应用。【例2】骨牌铺方格      在2×n的一个长方形方格中,用一种2×1的骨牌铺满方格。输入n(n<=40),输出铺放方案的总数。      例如n=3时,为2×3方格,骨牌的铺放方案有三种,如下图1所示。 图1  2×3方格
POJ1700  Cross River,一道贪心题,合理选择贪心策略 :http://poj.org/problem?id=1700 #include<iostream> #include<vector> #include<algorithm> #include<iterator> using namespace std;
原创 2011-05-08 00:14:19
576阅读
 N个人要从河的一侧到另一次 一个船最多做2个人 这个船的速度受慢的人的影响。 输入一堆数,为每个人 的时间,怎么规划划船的总时间最少?     #include <iostream> #include <list> #include <algorithm> usi
原创 2011-12-30 23:29:17
482阅读
1点赞
2评论
过河问题题目描述:在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借来源:http://acm.ny...
原创 2022-09-23 10:34:47
211阅读
思路:贪心思想(一般都是先排序)关键步骤:每次从此岸到彼岸移动的两个人要么这两个人中有一个是最快的那个人,要么这两个人到达彼岸后再也不回来。即:要么最快+最慢,要么最慢+次慢。1.对N个人过河时间从小到大排序。speed[i]2.分情况讨论:⑴当n = 1,直接过河。sum = speed[0](2)当n = 2,直接过河。 sum = speed[1](3)当n = 3,无论怎么过河, sum ...
原创 2021-07-13 14:50:23
185阅读
http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=47描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得...
转载 2018-10-31 18:16:00
106阅读
2评论
思路:贪心思想(一般都是先排序)关键步骤:每次从此岸到彼岸移动的两个人要么这两个人中有一个是最快的那个人,要么这两个人到达彼岸后再也不回来。即:要么最快+最慢,要么最慢+次慢。1.对N个人过河时间从小到大排序。speed[
原创 2022-03-10 18:05:35
210阅读
描述 在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;而如果两人同时过桥,所需要的时间就是走得比较慢的那个人单独行动时所需的
原创 2023-04-25 09:09:33
281阅读
过河问题时间限制:1000 ms | 内存限制:65535 KB难度:5描述在漆黑的夜里,N位旅行者来到了一座狭窄而且没有护栏的桥边。如果不借助手电筒的话,大家是无论如何也不敢过桥去的。不幸的是,N个人一共只带了一只手电筒,而桥窄得只够让两个人同时过。如果各自单独过桥的话,N人所需要的时间已知;...
转载 2014-03-28 20:06:00
129阅读
2评论
http://www.cppblog.com/abilitytao/archive/2009/03/28/78197.html有点不明白,为什么一定要两个两个的,存在一个最快的带动,不是也可以的么,再深度理解。。。解题思路:当人数等于1,2,3的时候:答案很容易得出;当人数大于等于4时:若设过桥速度最快的那个人过桥时间为a,第二快为b;过桥第二慢的那个人过桥时间为y,最慢为z;此时有两种过桥方案:
转载 2023-06-11 19:21:53
90阅读
  • 1
  • 2
  • 3
  • 4
  • 5