
深度优先搜索
文章平均质量分 75
徐州牧
这个作者很懒,什么都没留下…
展开
-
poj解题报告——3083
这题啊,DFS,BFS都用上了不过嘛,这个题意是比较费解的,首先解释输入,给一个w*h的迷宫,其中矩阵里面S是起点,E是终点,而且,S、E都只会在边界并且,不会在角落,例如(0,0),输出的话,每组数据就输出三个整数,第一个整数,指的是,以S的起点为当前所对着的路径为正方向,如果正方向的左边能走的话,就走左边,不能就按正方向走,不行的话就就往回走,如此反复,记录步数,并输出,第二个整数也是如此,只原创 2014-12-06 22:43:40 · 530 阅读 · 0 评论 -
poj解题报告——2488
人生第一次做DFS啊,好激动啊!题目不是很难理解。题意:骑士周游问题,按照给你的走法,问骑士能否在p * q的棋盘上,从某个点出发不重复走遍棋盘每个点,如果能,输出骑士每步的位置(按字典序),如果不能,则输出impossible。 走法可能有多种,必须严格按照字典序走。 题目要求以"lexicographically"方式输出,也就是字典序...要以字典序输出路径,那原创 2014-12-06 20:56:55 · 731 阅读 · 0 评论 -
poj解题报告——3009
题意,已知起点和终点,求石子从起点到达终点的最短路,如果无法到达,则输出-1。石子移动的具体规则如下 1、开始时,石子在起点s处 2、运动方向可以是水平或垂直的,不能斜方向运动 3、最开始的时候,你可以将石子向上下左右任意一个方向抛,如果与它相邻的点是障碍物的话除外 4、一旦石子开始运动,有三种可能:原创 2014-12-13 21:10:48 · 502 阅读 · 0 评论 -
poj解题报告——1321
这题让我想到了八皇后问题,两者有区别,不过差不多的解法。代码如下#include#include#includechar mat[12][12];int vis[12];int cnt,n;void dfs(int r,int k){ int i; if(k==0) { cnt++; ret原创 2014-12-13 22:10:37 · 447 阅读 · 0 评论 -
poj解题报告——2386
题意:给你一个row*col的矩阵表示一块田地,上面的'W'代表积水,'.'表示干地,问这块田地里面的积水能汇聚成几片水洼。#include#include#include#includeusing namespace std;int n,m,ans;char g[110][110];bool jud(int i,int j){ if(i>=n||i<0) re原创 2015-07-27 09:50:24 · 564 阅读 · 0 评论