C++题目·迷宫2&3&4&5

您所在的位置:网站首页 请问迷宫的宫怎么写 C++题目·迷宫2&3&4&5

C++题目·迷宫2&3&4&5

2024-01-08 10:41| 来源: 网络整理| 查看: 265

【迷宫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