C++题目·迷宫2&3&4&5 |
您所在的位置:网站首页 › 请问迷宫的宫怎么写 › C++题目·迷宫2&3&4&5 |
【迷宫2】 题目: 题目描述 输入一个m行n列的字符矩阵,其中的元素均由‘.’和‘#’构成,表示一个迷宫。其中‘.’表示通路,可以通过,‘#’表示墙,不可以通过。走迷宫的过程中只能往上、下、左、右四个方向走,且不能走出迷宫边界。再给出一个入口和一个出口。请设计程序,计算输出从入口到出口的所有路径。如果不存在路径,则输出“none”。 输入 第一行为字符矩阵的行m与列n,数字之间用一个空格分隔。从第二行开始的m行为字符矩阵各元素的值(值与值之间无空格),再接下来的两行分别为入口和出口的坐标值(数字之间用一个空格分隔)。 输出 多行,为通路中路过的各点的坐标值。每个坐标用一对英文小括号括起来,括号内两个坐标值之间用英文逗号分隔,括号与括号之间用一个空格分隔。如果不存在通路,则输出“none”。 样例输入 4 5 .#... .#.#. ..... .#.#. 3 1 4 5 样例输出 (3,1) (3,2) (3,3) (2,3) (1,3) (1,4) (1,5) (2,5) (3,5) (4,5) (3,1) (3,2) (3,3) (3,4) (3,5) (4,5) 【答案】 #include #include using namespace std; char a[100][100]; string str; int step=0,pathx[100],pathy[100],dx[5]={0,-1,0,1,0},dy[5]={0,0,1,0,-1},n,m,x1,y1,x2,y2,s=0; void move(int x,int y){ step++; pathx[step]=x; pathy[step]=y; if(x==x2&&y==y2){ s++; for(int i=1;i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |