hdu1269 迷宫城堡
验证给出的有向图是不是强连通图。。。
Tarjan算法板子题
Tarjan算法的基础是DFS,对于每个节点、每条边都搜索一次,时间复杂度为O(V+E)。
算法步骤:
1、搜索到某一个点时,将该点的Low值标上时间戳,然后将自己作为所在强连通分量的根节点(就是赋值Dfn=Low=time)
2、将该点压入栈。
3、当点p有与点p’相连时...
分类:
其他好文 时间:
2014-08-03 23:22:56
阅读次数:
283
计算细胞数From陈超锐描述 Description一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:阵列0234500067103456050020456006710000000089 有4个细胞输入格式 Inp....
分类:
其他好文 时间:
2014-08-03 22:56:36
阅读次数:
245
例3:组合问题输出m个数中取n个数的所有组合。例如m=5,n=3的所有组合为:1 2 31 2 41 2 5 1 3 41 3 51 4 5 2 3 42 3 52 4 5 3 4 5#includeusing namespace std;int m,n,a[10]; //存放每个数void co....
分类:
其他好文 时间:
2014-08-03 20:35:45
阅读次数:
239
递归回溯代码#include using namespace std;int n,m, a[10];bool bz[3][10];void DFS(int k){ int i;if (k==n) { for ( i=0; i>n; DFS(0);return 0;}V...
分类:
其他好文 时间:
2014-08-03 17:52:45
阅读次数:
299
深度优先(DFS)模板1:void DFS(int k) //处理第k步{ if (k==n) //已经处理到第n步,到达目的状态 输出结果 else//处理第k步 for (int i=1; iusing namespace std;int n,m, a[10];void DFS(int k).....
分类:
其他好文 时间:
2014-08-03 15:10:35
阅读次数:
194
邻接矩阵:#include #include #include using namespace std;#define min(a,b) a s;void dfs(int u){ Edge t,tt; dfn[u]=low[u]=++tmpdfn,visit[u]=1; for(i...
分类:
其他好文 时间:
2014-08-03 15:07:56
阅读次数:
256
给你一颗边带权值的树,求树上的每一点距离其最远的一个点的距离比较典型的题了,主要方法是进行两次DFS,第一次DFS求出每一个点距离它的子树的最远距离和次远距离,然后第二次DFS从父节点传过来另一侧的树上的距离它的最远距离进行一次比较便可得出任意点的最远距离了之所以需要记录最远和次远是为了辨别父节点的...
分类:
其他好文 时间:
2014-08-03 15:04:35
阅读次数:
215
最少步数
时间限制:3000 ms | 内存限制:65535 KB
难度:4
描述
这有一个迷宫,有0~8行和0~8列:
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...
分类:
其他好文 时间:
2014-08-03 12:52:45
阅读次数:
246
策略:如题
题目链接:http://poj.org/problem?id=1088
代码:
#include
#include
int map[105][105], dp[105][105], n, m;
const int dir[4][2] = {0, 1, 1, 0, 0, -1, -1, 0}; //四个方向
int limit(int x, int y) //判断是不是越界了
{...
分类:
其他好文 时间:
2014-08-03 12:50:25
阅读次数:
224