题解报告:P1605 迷宫(dfs+回溯)

简介: 算法

地址

题意:

9.png

思路:dfs搜索路径,经过后就标机保证不回头,走不了的时候回到上层得取消此时的标机完成回溯。

#include<bits/stdc++.h>
using namespace std;
const int maxn=7;
int a[maxn][maxn];
bool flag[maxn][maxn];
int x1[6]={ 0,-1,1,0,0};
int y11[6]={0,0,0,1,-1};
int n,m,t,sx,sy,fx,fy;
int ans;
bool jg(int i,int j){
    if(j>=1&&j<=m&&i>=1&&i<=n&&flag[i][j]==0){
        return true;
    }
    return false;
}
void dfs(int i,int j){
    int x,y;
    if(i==fx&&j==fy){
        ans++;
        return ;
    }
    for(int d1=1;d1<=4;d1++){
        x=x1[d1]+i;
        y=y11[d1]+j;
        if(jg(x,y)){
            flag[x][y]=1;
            dfs(x,y);
            flag[x][y]=0;
        }
    }
}
int main()
{
    int x1,y1,i,j;
    cin>>n>>m>>t;
    cin>>sx>>sy>>fx>>fy;
    flag[sx][sy]=1;
    for(i=0;i<t;i++){
        cin>>x1>>y1;
        flag[x1][y1]=1;
    }
    dfs(sx,sy);
    cout<<ans<<endl;
}
相关文章
|
网络协议 Unix Shell
FreeBSD的特点是什么?如何使用?
【10月更文挑战第29天】FreeBSD的特点是什么?如何使用?
400 2
|
运维 JavaScript Java
govaluate 规则引擎
govaluate 规则引擎
3062 0
govaluate 规则引擎
|
5月前
|
监控 JavaScript 开发工具
【HarmonyOS 5】鸿蒙中@State的原理详解
@State 是 HarmonyOS ArkTS 框架中用于管理组件状态的核心装饰器,其核心作用是实现数据驱动 UI 的响应式编程模式。通过将变量标记为 @State,开发者可以确保当状态值发生变化时,依赖该状态的 UI 组件会自动重新渲染,从而保持数据与界面的实时同步。 @State 是 HarmonyOS ArkTS 实现响应式编程的大基础核心,可以说整个V1和V2都是围绕它来进行组合使用。
246 0
|
存储 Java Nacos
学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO
媒资管理模块简介、MinIO构建分布式文件系统、MinIO数据恢复演示 、【媒资模块】上传图片
学成在线笔记+踩坑(4)——【媒资管理模块】上传图片,Nacos+Gateway+MinIO
WK
|
机器学习/深度学习 算法 大数据
鱼群算法
鱼群算法(FSA)是一种基于仿生学的群智能算法,模拟鱼群在水中集群、觅食和逃避捕食的行为,寻找问题空间中的全局最优解。该算法由李晓磊等人于2002年提出,通过初始化鱼群、评估适应度、更新行为和终止条件等步骤进行迭代优化。其优点包括实现简单、全局搜索能力强和自适应性好,但收敛速度较慢且易陷入局部最优。FSA已广泛应用于函数优化、路径规划、图像分割等领域,并有望通过改进性能、结合其他算法及拓展应用领域等方式进一步提升其应用价值。
WK
361 0
|
Java 数据库连接
【线程池使用完毕为何必须shutdown】
【线程池使用完毕为何必须shutdown】
425 0
|
存储 机器学习/深度学习 人工智能
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
数据结构学习笔记——图的存储结构(邻接矩阵和邻接表)
|
存储 Linux
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
Linux文件的上和下,FinalShell文件右键可下文件,先选择root文件夹,然后把他文件往里面拖动,就可以下载了,命令下载,ls -l可以看当前文件目录,sz 文件名可下载,tab补,rz出上
|
存储 Java 数据库连接
SOLID设计原则:依赖倒置原则
本文介绍了依赖倒置原则,即高层模块不依赖低层模块,而是共同依赖抽象。直接依赖会导致紧耦合、难以测试和重用性差等问题。通过引入抽象层或独立抽象组件包,可以实现依赖倒置,提高系统灵活性和可维护性。Spring 和 Java SPI 是依赖倒置原则的典型应用。遵循该原则有助于设计更灵活、可扩展的系统架构。
258 3