首页 > 其他分享 >DFS(深度优先搜索)

DFS(深度优先搜索)

时间:2023-05-18 21:12:48浏览次数:24  
标签:优先 tx ty int startx DFS step 搜索 100

代码:

#include<bits/stdc++.h>
using namespace std;
int m, n, p, q, minn = 99999999;
int a[100][100];//1为空,2为障碍
int v[100][100];//0未访问,1已访问
int dx[4] = {0,1,0,-1};
int dy[4] = {1,0,-1,0};// 设置遍历方向
void dfs(int x, int y, int step) {
if (x == p && y == q) {
  if (step < minn)
    minn = step;
    return;// 回溯
}
//顺时针试探
for(int k=0;k<=3;k++){
  int tx,ty;
  tx = x+dx[k];
  ty = y+dy[k];
  if(a[tx][ty]==1 && v[tx][ty]==0){
    v[tx][ty]=1;
    dfs(tx,ty,step+1);
    v[tx][ty]=0;
    }
  }
return;
}
int main(){
int startx,starty;
cin>>m>>n;
for(int i=1;i<=m;i++)
  for(int j=1;j<=n;j++)
    cin>>a[i][j];
    cin>>startx>>starty>>p>>q;
    v[startx][starty] = 1;
    dfs(startx,starty,0);
    cout<<minn<<endl;
return 0;
}

测试案例:/*

      5 4
      1 1 2 1
      1 1 1 1
      1 1 2 1
      1 2 1 1
      1 1 1 2
      1 1 4 3
     */

标签:优先,tx,ty,int,startx,DFS,step,搜索,100
From: https://www.cnblogs.com/bzlx1717/p/17413303.html

相关文章

  • BFS(广度优先搜索)
    代码:#include<bits/stdc++.h>usingnamespacestd;inta[100][100],v[100][100];//a为地图,v为记录是否访问structpoint{ intx; inty; intstep;};//建立访问节点的结构体queue<point>r;//创建队列intdx[4]={0,1,0,-1};intdy[4]={1,0,-1,0};//创建遍历方向intmain(......
  • 基于爬山优化算法的三维曲面极值搜索matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要       爬山法是一种优化算法,其一般从一个随机的解开始,然后逐步找到一个最优解(局部最优)。假定所求问题有多个参数,我们在通过爬山法逐步获得最优解的过程中可以依次分别将某个参数的值增加或者......
  • 基于爬山优化算法的三维曲面极值搜索matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要爬山法是一种优化算法,其一般从一个随机的解开始,然后逐步找到一个最优解(局部最优)。假定所求问题有多个参数,我们在通过爬山法逐步获得最优解的过程中可以依次分别将某个参数的值增加或者减少一个单位。爬山法是......
  • 淘宝关键词搜索 API 接口分析商品价格走势(商品列表,销量,价格接口,分类 ID 精准商品数据
    淘宝OpenAPI(Openapplicationprogramminginterface)是一套REST方式的开放应用程序编程接口。淘宝网根据自己提供的电子商务基础服务,抽象并做成一系列的API接口。通过这些接口,可以让外部用户能够通过程序的方式访问淘宝网的数据和平台。淘宝OpenAPI是淘宝开放平台的重要组......
  • AMD Xilinx AXI Interrupt Controller 中断优先级
    中断优先级AXIInterruptController支持中断优先级。在VivadoBlockDesign中,bit-0连接的中断优先级最高,越靠近bit-0的中断优先级最高。AXIInterruptController的手册pg099中的描述如下:Prioritybetweeninterruptrequestsisdeterminedbyvectorposition.Theleas......
  • c# HanLP 分词,主要是为了 更好的搜索数据,便于搜索文章,对文章进行统一的分词
    c#HanLP 分词,主要是为了 更好的搜索数据,便于搜索文章,对文章进行统一的分词HanLP框架搭建IKVM是一个c#端的java虚拟机下载地址:https://sourceforge.net/projects/ikvm/files/HanLP由三部分组成,类库hanlp.jar包、模型data包、配置文件hanlp.properties主要用来,支持中文分词(N-......
  • Booking.com如何在毫秒内搜索数百万个地点
    译自:HowBooking.comSearchesThroughMillionsofLocationsinMillisecondsBooking.com是一家与酒店、旅馆、度假租赁等相关的在线旅行社。每个月都有数亿用户通过访问该网站来寻找合适的度假住宿。Booking的一个主要特性是可以以地图的方式提供查找服务,其地图市场提供了上千......
  • pjdfstest学习
    pjdfstest是什么?从源代码的README看介绍:============Introduction============pjdfstestisatestsuitethathelpsexercisePOSIXsystemcalls.pjdfstestsupportsthefollowingoperatingsystems/filesystems:-SupportedOperatingSystems:FreeBSD,Linux,Solari......
  • 使用优先队列寻找中位数
    Next,SupposewewouldliketoinventanewADTcalledMedianFinderwhichisacollectionofintegersandsupportsfindingthemedianofthecollection.MedianFinderadd(x);//addsxtothecollectionofnumbersmedian();//returnsthemedianfromacol......
  • SSA麻雀搜索算法优化KELM核极限学习机(SSA-KELM)回归预测MATLAB代码 代码注释清楚。
    SSA麻雀搜索算法优化KELM核极限学习机(SSA-KELM)回归预测MATLAB代码代码注释清楚。main为主程序,可以读取EXCEL数据。很方便,容易上手。(电厂运行数据为例)温馨提示:联系请考虑是否需要,程序代码商品,一经售出,概不退换。ID:9845664615529013......