`

跳出死胡同

 
阅读更多

转载同事发的小故事,比较有哲理。

 

著名的心算家阿伯特·卡米洛从来没有失算过。

 

这一天他做表演时,有人上台给他出了道题:“一辆载着 283 名旅客的火车驶进车

站,有 87 人下车, 65 人上车;下一站又下去 49 人,上来 112 人;再下一站又下去 37 人,

上来 96 人;再再下站又下去 74 人,上来 69 人;再再再下一站又下去 17 人,上来 23 人……”

 

 

那人刚说完,心算大师便不屑地答道:“小儿科!告诉你,火车上一共还有——”

 

“不,”那人拦住他说,“我是请您算出火车一共停了多少站口。”

 

阿伯特·卡米洛呆住了,这组简单的加减法成了他的“滑铁卢”。

 

真正“滑铁卢”的失败者拿破仑也有一个故事。

 

拿破仑被流放到圣赫勒拿岛后,他的一位善于谋略的密友通过秘密方式给他捎来一副

用象牙和软玉制成的国际象棋。拿破仑爱不释手,从此一个人默默下起了象棋,打发

着寂寞痛苦的

时光。象棋被摸光滑了,他的生命也走到了尽头。

 

拿破仑死后,这副象棋经过多次转手拍卖。后来一个拥有者偶然发现,有一枚棋子的

底部居然可以打开,里面塞有一张如何逃出圣赫勒拿岛的详细计划!

 

两个故事,两个遗憾。

 

他们的失败,其实都是败在思维定势上。心算家思考的只是老生常谈的数字,军事家

想的只是消遣。他们忽略了数字的“数字”,象棋的“象棋”。由此可见,在自己的思维

定势里打

转,天才也走不出死胡同。

 

无数事实证明,伟大的创造、天才的发现,都是从突破思维定势开始的。

 

分享到:
评论
1 楼 he_lux 2009-02-06  
跳出常规的意识,是需要锻炼的吧。

相关推荐

    计算机走迷宫

    如果在某一步遇到死胡同,我们会回溯到上一步,即弹出栈顶元素,然后尝试其他未探索过的方向。 具体步骤如下: 1. **初始化**:将起点的状态(位置和无方向)压入栈中,并标记起点为已访问。 2. **探索**:检查...

    数据结构试验报告-迷宫问题.pdf

    栈的基本操作包括初始化、销毁、清空、获取栈长度、检查是否为空、获取栈顶元素、压入元素、弹出元素以及遍历栈中元素。 - `InitStack()` 初始化一个空栈。 - `DestroyStack()` 销毁栈。 - `ClearStack()` 清空...

    MFC 深度搜索迷宫出口

    这时,从栈顶弹出一个节点,表示回退到上一步,并继续检查其未尝试过的相邻节点。 5. **MFC显示**:在MFC的CView类中重载OnDraw()函数,根据迷宫状态和搜索过程动态绘制路径。当找到出口时,可以高亮显示路径,以...

    migong.rar_老鼠走迷宫

    如果发现死胡同,就弹出堆栈顶的状态,恢复到上一步,并尝试其他路径。 此外,为了提高效率,还可以引入剪枝策略,例如,当遇到已经访问过的节点时,可以避免重复探索,以减少计算量。在C++中,这可以通过标记节点...

    迷宫问题 数据结构 栈 回朔法

    6. 回溯:如果所有相邻单元格都不可通行或已被访问,就弹出栈顶元素,表示前一步是死胡同,需要回溯。 以上就是使用回溯法和栈解决迷宫问题的基本思路。在实际代码中,还需要考虑边界条件、错误处理以及如何有效地...

    迷宫问题c语言 深度优先搜索

    4. **回溯**:当到达一个死胡同时,我们需要回溯到上一个节点,尝试其他可能的路径。这是通过弹出栈顶元素并恢复其未访问状态来完成的。 5. **结束条件**:如果栈为空,且仍未找到目标节点,说明不存在路径,算法...

    c_cplusplusyu走迷宫.zip

    如果在某个节点找不到路径,就弹出栈顶元素,继续尝试其他路径。 4. **状态记录**:在走迷宫的过程中,我们需要记录当前的位置以及已经探索过的路径,避免重复进入死胡同。可以使用额外的二维数组或者布尔数组来...

    用回溯的思想解决迷宫问题

    4. **回溯**:当递归到达一个没有可行路径的节点时,即遇到死胡同,从栈中弹出当前位置,将其标记为未访问,然后返回上一层,继续探索其他分支。 5. **结束**:若遍历完所有可能的路径但仍未找到解,说明无解。否则...

    数据结构实验迷宫问题实验报告

    令把走过的点的值等于 4,并把这个点对应的行列坐标和相对上一个点的方向存在栈中,若在某一个点走不通了,把这个点的值设为 3,表示死胡同,然后返回去上一个点,进行一次弹栈操作,弹出一个行列坐标和方向,然后换...

    背包问题实验报告c语言

    【回溯法】是一种试探性的解决问题的方法,通过尝试所有可能的解决方案并逐步退回到上一步来避免走进死胡同。在这个实验中,回溯法被用来寻找所有能填满背包的物品组合。栈数据结构被用来辅助回溯过程,帮助存储和...

    合工大软工数据结构高分课设-老鼠走迷宫

    这可以通过栈来实现,每次移动都压入当前状态,当回溯时,弹出栈顶状态。 8. **优化与性能**:在大型迷宫中,搜索算法可能会消耗大量时间和内存。为了优化,可以使用剪枝策略,如A*搜索算法,结合启发式函数来指导...

    迷宫小游戏代码

    当到达死胡同时,则从栈中弹出节点,回溯至上一节点继续探索。 ### 总结 本代码段展示了如何利用C++中的数据结构和算法解决迷宫寻路问题。通过深度优先搜索结合回溯技术,能够有效地找出从起点到终点的路径。对于...

    链表栈实现迷宫算法VC平台

    DFS的基本思想是从起点开始,每次尝试走一步,如果走到终点则找到路径,如果走入死胡同则回溯至上一步,继续探索其他可能的路径。在VC++中,可以结合链表栈记录当前位置和上一步的位置,以便在回溯时能够快速恢复。 ...

    小老鼠走迷宫

    当小老鼠到达死胡同或目标位置时,我们会回溯,即弹出堆栈顶部的状态,然后尝试其他未探索的路径。 具体步骤如下: 1. 初始化:设定起点为当前位置,将起点压入堆栈。 2. 循环操作: - 当堆栈非空时,弹出栈顶...

    Migong.rar_visual c

    6. **数据结构实现**:在这个项目中,链栈用于存储当前探索的节点,每次移动时将当前位置压入栈中,如果遇到死胡同则回溯,即弹出栈顶元素,返回上一个节点。 7. **可视化界面**:虽然未提及,但通常迷宫求解程序会...

    迷宫——栈实现 C语言 递归

    当小人走入死胡同时,栈可以帮助它回退到之前的路径,寻找其他可能的出口。 C语言是编程的基础,它简洁且高效,适合实现这种算法。在描述中提到的字符输出,指的是使用C语言的字符数组或者stdio库中的printf函数来...

    山东大学数据结构实验四堆栈的应用.pdf

    当找到出口或者发现死胡同时,会回退到上一步,即弹出栈顶元素,尝试其他路径。在这个实验中,定义了一个`MazeSolveMethod`类,包含了`Stack<int> pathStack`来存储路径。`findPath`函数用于寻找从起点到终点的路径...

    c++栈实现迷宫代码

    这段代码是用C++实现的一个基于栈的迷宫求解算法。...当遇到死胡同时,会回溯到上一步,尝试其他路径。这个实现没有包括回溯的判断条件,可能需要额外的逻辑来判断是否到达终点或者栈为空(即无解)。

    迷宫的实现

    这是一种试探性的搜索策略,当遇到死胡同时,它会退回上一步,尝试其他路径。在C语言中,我们可以通过栈数据结构来实现回溯法。每当探索一个新的节点时,我们将当前节点和方向压入栈中。如果到达终点,那么找到了解...

    数据结构实验-迷宫问题.doc

    当遇到死胡同时,会沿着原路返回并尝试其他未走过的路径。栈在这里起到了记录前进路径的作用。搜索过程中,每个可通点有四个可能的方向(上、右、下、左),这些方向被编号为0、1、2、3,并存储在一个增量数组move[4...

Global site tag (gtag.js) - Google Analytics