题目背景

迷宫 【问题描述】

给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。

输入样例 输出样例

【数据规模】

1≤N,M≤5

题目描述

输入输出格式

输入格式:

【输入】

第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点

坐标FX,FY。接下来T行,每行为障碍点的坐标。

输出格式:

【输出】

给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方

案总数。

输入输出样例

输入样例#1:

2 2 1
1 1 2 2
1 2

输出样例#1:

1

【代码】/起点一开始没有标记走过死活都过不了
 #include<iostream>
#include<cstdio>
#include<cstdlib>
using namespace std;
int n,m,t,qx,qy,zx,zy,sum;
bool mg[][];
int dx[]={,,-,},
dy[]={,,,-};
int search(int,int);
int main()
{
int x,y;
scanf("%d%d%d",&n,&m,&t);
scanf("%d%d%d%d",&qx,&qy,&zx,&zy);//输入起点终点坐标
for(int i=;i<=t;i++)
{
scanf("%d%d",&x,&y);
mg[x][y]=;//标记障碍
}
mg[qx][qy]=;//*
search(qx,qy);//从起点搜索
printf("%d",sum);
return ;
}
int search(int h,int z)
{
for(int i=;i<;i++)
{
int l,j;
l=z+dy[i];
j=h+dx[i];
if(j>=&&j<=n&&l>=&&l<=m&&!mg[j][l])//选择移动方向
{
mg[j][l]=;
if(j==zx&&l==zy)sum++;//到达终点
else
// {
search(j,l);
mg[j][l]=;//回溯
// }
}
}
}

P1605 迷宫(洛谷)的更多相关文章

  1. (DFS)P1605 迷宫 洛谷

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...

  2. P1605 迷宫 洛谷

    https://www.luogu.org/problem/show?pid=1605 题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐 ...

  3. 迷宫 洛谷 p1605

    题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在迷宫 中移动有上下 ...

  4. 01迷宫 洛谷 p1141

    题目描述 有一个仅由数字0与1组成的n×n格迷宫.若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上. 你的任务是:对于给定的迷宫, ...

  5. 洛谷 P1605 迷宫

    题目链接 https://www.luogu.org/problemnew/show/P1605 题目背景 迷宫 题目描述 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 ...

  6. 洛谷—— P1605 迷宫

    P1605 迷宫 题目背景 迷宫 [问题描述] 给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过.给定起点坐标和 终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案.在 ...

  7. 洛谷P1238 走迷宫

    洛谷1238 走迷宫 题目描述 有一个m*n格的迷宫(表示有m行.n列),其中有可走的也有不可走的,如果用1表示可以走,0表示不可以走,文件读入这m*n个数据和起始点.结束点(起始点和结束点都是用两个 ...

  8. 洛谷P1519 穿越栅栏 Overfencing

    P1519 穿越栅栏 Overfencing 69通过 275提交 题目提供者该用户不存在 标签USACO 难度普及/提高- 提交  讨论  题解 最新讨论 USACO是100分,洛谷是20分 为什么 ...

  9. 洛谷P1432 倒水问题

    题目背景 In the movie "Die Hard 3", Bruce Willis and Samuel L. Jackson were confronted with th ...

  10. 洛谷 AT1350 深さ優先探索

    洛谷 AT1350 深さ優先探索 洛谷传送门 题意翻译 高桥先生住的小区是长方形的,被划分成一个个格子.高桥先生想从家里去鱼店,高桥先生每次可以走到他前后左右四个格子中的其中一个,但不能斜着走,也不能 ...

随机推荐

  1. iOS Autolayout 在tableView scrollView 适用 学习

    1  如何自动适应cell的高度 autolayout  里面 使用 systemLayoutSizeFittingSize 方法 (系统通过 已知的完整的Constraints和view的属性来计算 ...

  2. 如何在windows10环境下安装Pytorch-0.4.1版本

    开始是按照教程:https://blog.csdn.net/xiangxianghehe/article/details/80103095 安装了Pytorch0.4.0,但是安装后发现在import ...

  3. 后向传播算法“backpropragation”详解

    为什么要使用backpropagation? 梯度下降不用多说,如果不清楚的可以参考梯度下降算法. 神经网络的参数集合theta,包括超级多组weight和bais. 要使用梯度下降,就需要计算每一个 ...

  4. Ubuntu 配置NTP Server

    Ubuntu安装NTP Server很简单,分位3步走: 第一步:安装NTP root@cephadmin:~/ceph-cluster# apt-get install ntp Reading pa ...

  5. juniper防火墙清空配置恢复出厂设置命令

    1. console进入防火墙之后,输入unset all ,然后选择 yes2. 然后输入 reset ,回车,选择 no ,再选择 yes .然后等待防火墙重启. 恢复出厂默认配置: 1.在Con ...

  6. linux设置系统时间与时区以及设置bios时间同步系统时间

    有装过Linux系统的人,可能都会有这样的经历,就是该机器安装windows系统时,时间正确,但是安装了linux系统后,尽管时区选择正确,也会发现系统时间不对.这是由于安装系统时采用了UTC,那么什 ...

  7. 安装mysql5.7后无法启动,/var/run/mysqld 目录每次重启后都需要手动去创建--终极解决方案

    鉴于很多童鞋反应,mysql5.7安装后出现无法启动,建立/var/run/mysqld 并赋权mysql用户解决了启动的问题,但是重启系统后又出现无法启动的问题,导致/var/run/mysqld ...

  8. struts2中常用配置

    1.Post提交乱码问题,如果编码采用的是utf-8,那么默认不需要自己处理,因为其默认的常量配置文件就是处理UTF-8的 这个常量值只处理POST提交,get如果乱码还得自己写拦截器处理,一般只要页 ...

  9. EF Code-First 学习之旅 Fluent API

    Mappings To Database Model-wide Mapping Set default Schema Set Custom Convetions Entity Mapping To S ...

  10. 书_Delphi

    1. 有讲 坦克大战 的那本Delphi叫什么 叫做:<<Delphi深度历险>> 2.