zoukankan      html  css  js  c++  java
  • [练习]solveMaze

    Practice:

      Although Euclid’s algorithm and the problem of finding perfect numbers from the preceding exercise are both drawn from the domain of mathematics, the Greeks were fascinated with algorithms of other kinds as well.  In Greek mythology, for example, Theseus of Athens escapes from the Minotaur’s labyrinth by taking in a ball of string, unwinding it as he goes along, and then following the path of string back to the exit.  Theseus’s strategy represents an algorithm for escaping from a maze, but it is not the only algorithm he could have used to solve this problem.  For example, if a maze has no internal loops, you can always escape by keeping your right hand against a wall at all times.  This algorithm is called the right-hand rule.

    For example, imagine that Theseus is in the maze shown below at the position marked by the Greek letter theta (Θ):

      To get out, Theseus walks along the path shown by the dotted line in the next diagram, which he can do without taking his right hand off the wall.

      

      Suppose you have been asked to write a program for a robot named Theseus to escape from a maze.  You have access to a library that contains these methods:

    void moveForward();     /* Move forward to the next square   */

    void turnRight();       /* Turn right without moving         */

    void turnLeft();        /* Turn left without moving          */

    boolean isFacingWall(); /* True if Theseus is facing a wall  */

    boolean isOutside();    /* True if Theseus has left the maze */

    Use these methods to write an algorithmic method solveMaze that implements the right-hand rule.

    不断的总结,才能不断的提高;不断的思考,才能不断的进步!
  • 相关阅读:
    redis使用基础(一) ——Redis基本概述与安装配置
    Linux学习闲谈(三) ——SVN用法及切版本与合版本
    Linux学习闲谈(二) ——SVN版本控制拾遗
    Linux学习闲谈(一)——Shell基本操作与命令
    linux1
    git命令
    ubuntu
    laradock
    实用工具
    grumphp在docker里问题
  • 原文地址:https://www.cnblogs.com/nzyjlr/p/2009684.html
Copyright © 2011-2022 走看看