标签:题目 ios ibm online udf while arc blog php
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=58
有关深搜广搜知识的讲解PPT链接:(一)http://wenku.baidu.com/link?url=uuVluDfJP-gW6FiV0F8J4s4VuEOU__uqW1nFjuOO-id9ntGdqXLLvwDN0eR3akZMKP_iBmA0xPGAE-SOwdWyN21HJoXrHbd7cvSx2zRkZBa
(二)http://wenku.baidu.com/view/67228040580216fc710afd1b.html?from=search
//走迷宫(一) //前提:迷宫图已知。给你一个起点和终点 //问题:至少几步到达终点 //问题隐含条件:1、肯定走得到终点;2,、求最短路径的问题(可以用队列+BFS) #include<iostream> using namespace std; #define min(a,b) a<b?a:b int Map[9][9] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; int a, b, c, d, num; int dfs(int x, int y, int dep) //dep代表当前DFS的深度 { if (Map[x][y]) //if(走不下去了) { return 1; } if (x == c&&y == d) //if(找到解了) { num = min(dep, num); return 0; } //枚举下一种情况,DFS(...,dep+1) Map[x][y] = 1; dfs(x - 1, y, dep+1); dfs(x + 1, y, dep + 1); dfs(x, y - 1, dep + 1); dfs(x, y + 1, dep + 1); Map[x][y] = 0; } int main() { int n; cin >> n; while (n--) { num = 10000; cin >> a >> b>>c>>d; dfs(a,b,0); cout << num << endl; } }
相关链接:http://www.cnblogs.com/zhengbin/p/4495358.html
标签:题目 ios ibm online udf while arc blog php
原文地址:http://www.cnblogs.com/Strugglinggirl/p/6112084.html