ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

P1605迷宫

2022-01-09 21:36:34  阅读:185  来源: 互联网

标签:sy sx int 迷宫 dy1 dx1 bk P1605


一.题目描述:

 

 

 

 二.解题思路:

简单bfs过即可

三.代码实现:

 1 #include "bits/stdc++.h"
 2 int n,m,sx,sy,fx,fy;
 3 int mx,my,cnt;
 4 int mp[15][15];
 5 int bk[15][15];
 6 int mv[4][2] = {{1,0},{-1,0},{0,1},{0,-1}};
 7 using namespace std;
 8 void dfs(int sx,int sy,int f)
 9 {
10     if(sx == fx && sy == fy){
11         cnt++;
12         return;  
13     } 
14     for(int i = 0;i < 4;i++){
15         int dx1 = sx + mv[i][0];
16         int dy1 = sy + mv[i][1];
17         if(dx1 < 1 || dx1 > n || dy1 < 1 || dy1 > m) continue;
18         if(mp[dx1][dy1] || bk[dx1][dy1]) continue;
19         bk[dx1][dy1] = 1;
20         dfs(dx1,dy1,f+1);
21         bk[dx1][dy1] = 0;
22     }
23 }
24 int main()
25 {
26     int t;
27     cin >> n >> m >> t;
28     cin >> sx >> sy >> fx >> fy;
29     for(int i = 0;i < t;i++){
30         cin >> mx >> my;
31         mp[mx][my] = 1; 
32     }
33     bk[sx][sy] = 1;
34     dfs(sx,sy,0);
35     cout << cnt;
36     return 0;
37 }

 

标签:sy,sx,int,迷宫,dy1,dx1,bk,P1605
来源: https://www.cnblogs.com/scannerkk/p/15782309.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有