标签: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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。