1153_马的周游问题题目链接:http://soj.me/1153题目大意:给定一个8×8棋盘,格子标号1到64,输入一个初始位置的标号,按照马走“日”字的方法,找一条能刚好走完整个棋盘的路径,每个格子恰好只访问过一次。思路:用深度优先搜索的方法可以解决问题。首先用二维数组表示整个棋盘,直接用bo...
分类:
其他好文 时间:
2014-10-12 19:47:38
阅读次数:
504
题目大意:输入一个二维网格,每个网格单元中只有两种字符'*'和'@','@'表示油田,'*'表示土地。求出网格中共有多少块油田?注意:所有横向,竖向,对角线方向连同的
油田算一块油田。
算法思想:
广度优先搜索,扫描每一个网格,判断该网格是否是油田且未被标记,若是则计数加1并且进行广搜标记所有与其相连通的油田,若不是则只标记。扫描完所有的网...
分类:
其他好文 时间:
2014-10-11 14:29:25
阅读次数:
181
Prime Ring Problem
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27488 Accepted Submission(s): 12248
Problem Description
A ring is...
分类:
其他好文 时间:
2014-10-10 23:15:04
阅读次数:
276
1050. Numbers & LettersConstraintsTime Limit: 3 secs, Memory Limit: 32 MBDescriptionIn the early 80’s, a popular TV show on Dutch television was ‘Cijf...
分类:
其他好文 时间:
2014-10-06 13:18:40
阅读次数:
211
DescriptionThere are N cities and N-1 roads in Magic-Island. You can go from one city to any other. One road only connects two cities. One day, The ki...
分类:
其他好文 时间:
2014-10-06 02:45:19
阅读次数:
292
以下面的图片为例题,仅给出源代码,不谈算法思想。
#include
#include
#include
#define MAX_VERTEX_NUM 20+3 //最大顶点数量
//#define true 1
//#define false 0
using namespace std;
typedef char VERTEX_TYPE; //顶点的类型
typedef struc...
分类:
其他好文 时间:
2014-10-05 12:07:48
阅读次数:
215
理论:深度优先搜索(Depth_Fisrst Search)遍历类似于树的先根遍历,是树的先根遍历的推广:广度优先搜索(Breadth_First Search) 遍历类似于树的按层次遍历的过程:java实现Vertex.javapackage 图;public class Vertex{ S...
分类:
其他好文 时间:
2014-10-04 21:27:27
阅读次数:
432
一,什么是最小生成树
1,什么是生成树
如果连通图G的一个子图是一棵包含G所有顶点的树,则该子图成为G的生成树。
生成树是含有该连通图全部顶点的一个极小连通子图,它并不是唯一的,从不同的顶点出发可以得到不同的子树。含有N个顶点的连通图的生成树有N-1条边。
2,如何求一个连通图
的生成树
要求一个连通图的生成树只需要从一个顶点出发,做一次深度优先或...
分类:
其他好文 时间:
2014-10-04 20:58:47
阅读次数:
155
一,深度优先搜索
基本思想:
以图中某个顶点Vi为出发点,首先访问出发点Vi,然后任选一个Vi的未访问过的临界点Vj,以Vj为新的出发点继续进行深度优先搜索,依此类推,直至图中所有顶点都被访问过。
深度优先搜索可以看成一个递归过程。
具体过程:
首先选定结点v0为出发点,访问V0,然后从V0的邻接点V1,V3,V5,任选一个访问,此处我们访问V1...
分类:
其他好文 时间:
2014-10-04 19:29:07
阅读次数:
192
DFS实现步骤如下:
①访问顶点V,并标记V已经访问
②查找V的第一个邻接顶点w
③若W存在,则继续执行,否则算法结束
④若W未被访问,则使用DFS递归访问w
⑤查找V的下一个邻接节点,并记为W,转到步骤③
对上图进行DFS,则访问顺序为
A B D C E
使用伪代码如下:
Vector G[maxn]
int vis[maxn]
void dfs(int u)...
分类:
其他好文 时间:
2014-10-03 11:05:14
阅读次数:
194