2935 统计线路
#include<bits/stdc++.h>
using namespace std;
//地图数组,标记数组
int G[105][105],vis[105][105];
//方向数组:上右下左
int dx[5]={-1,0,1,0},dy[5]={0,1,0,-1};
int n,cnt=0;//用来接收迷宫大小,cnt统计路线数量
void dfs(int x,int y){//传入搜的位置坐标
//找到终点,统计+1
if(G[x][y]==2){
cnt++;//统计数量
return;//结束搜索
}
for(int i=0;i<4;i++){//搜索上右下左四个点
int xx=x+dx[i],yy=y+dy[i];//拿到下一个点的坐标
//搜索的点不能超出地图
//该点没有被搜索过,该点可以通行(不为1都可以通行)
if(xx>=1&&xx<=n&&yy>=1&&yy<=n
&&G[xx][yy]!=1&&vis[xx][yy]==0){
//把该点标记为搜索过
vis[xx][yy]=1;
//递归搜索过程
dfs(xx,yy);
//统计路线需要加上回溯,把当前点标记为未搜索过
vis[xx][yy]=0;
}
}
}
int main() {
cin>>n;//接收地图大小
for(int i=1;i<=n;i++){//接收地图输入
for(int j=1;j<=n;j++){
cin>>G[i][j];
}
}
vis[1][1]=1;//先标记第一个位置被搜索过
dfs(1,1);
cout<<cnt;//输出统计结果
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现