图论/DFS/BFS
文章平均质量分 65
从此醉
痴情种子本天生故曰向来痴相见恨晚犹断肠是名从此醉
展开
-
snakes and ladders
蛇和梯子的游戏。网上还木有这个题。…………#include #include #include #include #include using namespace std;bool visitFlag[10001]; //该位置是否到达过int snakeFlag[10001]; //此处是否有蛇头int ladderFlag[10001]; //此处是否有梯子原创 2013-04-09 17:16:52 · 1381 阅读 · 0 评论 -
强连通分量-Tarjin算法
在有向图G中,如果两个顶点间至少存在一条路径,称两个顶点强连通(strongly connected)。如果有向图G的每两个顶点都强连通,称G是一个强连通图。非强连通图有向图的极大强连通子图,称为强连通分量(strongly connected components)。下图中,子图{1,2,3,4}为一个强连通分量,因为顶点1,2,3,4两两可达。{5},{6}也分别是两个强连通分量。转载 2013-08-29 16:31:55 · 2707 阅读 · 0 评论 -
位运算-BFS-Flip Game-POJ 1753
DescriptionFlip game is played on a rectangular 4x4 field with two-sided pieces placed on each of its 16 squares. One side of each piece is white and the other one is black and each piece is lying转载 2013-08-13 12:06:59 · 1247 阅读 · 0 评论 -
DFS练习-寻找表达式(微策略2013年校园招聘笔试题)
题目描述:现在有一个序列123......N,其中N介于3和15之间,要求在序列之间加入+、-或者空格,使得该序列组成的数学表达式的运算结果为0。输入:输入可能包含多个测试样例。对于每个测试案例,输入整数N(3输出:对应每个测试案例,输出所有使得表达式结果为0的组合,当有多个组合时,按字典序进行排序输出。样例输原创 2013-08-12 09:27:00 · 2209 阅读 · 2 评论 -
最短路径简单应用 畅通工程续 POJ 1874
Problem Description某省自从实行了很多年的畅通工程计划后,终于修建了很多路。不过路多了也不好,每次要从一个城镇到另一个城镇时,都有许多种道路方案可以选择,而某些方案要比另一些方案行走的距离要短很多。这让行人很困扰。现在,已知起点和终点,请你计算出要从起点到终点,最短需要行走多少距离。 Input本题目包含多组数据,请处理到文件结束。原创 2013-04-15 12:56:37 · 1529 阅读 · 0 评论 -
ACM算法之 欧拉回路
题目描述: 欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。现给定一个图,问是否存在欧拉回路?输入: 测试输入包含若干测试用例。每个测试用例的第1行给出两个正整数,分别是节点数N ( 1 输出: 每个测试用例的输出占一行,若欧拉回路存在则输出1,否则输出0。样例输入:3 31 21 32 3原创 2013-03-10 22:38:26 · 3422 阅读 · 0 评论 -
DFS 题目1114:神奇的口袋
题目描述:有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入:输入的第一行是正整数n原创 2013-04-19 11:58:32 · 1155 阅读 · 0 评论 -
题目1008:最短路径问题 java实现
http://ac.jobdu.com/problem.php?id=1008题目描述:给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的。输入:输入n,m,点的编号是1~n,然后是m行,每行4个数 a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为原创 2012-03-29 12:43:50 · 2409 阅读 · 2 评论 -
DFS深度优先搜索结合剪枝的应用
题目大意:老鼠的起点在S,出后在D,X是墙壁不能通过,.可以通过。出口在第T时刻开启,老鼠必须在这这个时刻到达出口,中途不能停留。The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked it up, the maze began to shake, a原创 2013-03-21 22:05:16 · 1390 阅读 · 0 评论 -
题目1024:畅通工程 朴素Prim算法
题目描述: 省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。输入: 测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M (N, M 输出:原创 2012-03-29 12:45:14 · 1525 阅读 · 0 评论 -
图论之Havel定理 Frogs' Neighborhood (青蛙的邻居)
Havel定理 就是图的可判定性。今天刚学的,不多说了,大家google一下就懂了。http://poj.org/problem?id=1659#include #include #include #include using namespace std;//由于要排序,需要用结构体保存节点的 下标typedef struct node{ int inde原创 2013-03-18 17:58:03 · 1623 阅读 · 0 评论 -
DFS+记忆搜索-HDU-1078
FatMouse and CheeseTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 3404 Accepted Submission(s): 1348Problem DescriptionFatMou原创 2013-06-12 19:22:32 · 825 阅读 · 0 评论 -
广度优先遍历求解 ZOJ 649 (Rescue)
Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's friends want to save Angel. Their task is: approach Angel. We assume that "approach原创 2013-04-01 16:08:15 · 1363 阅读 · 1 评论 -
算法笔记之 拓扑排序 POJ 2585(Window Pains)
http://poj.org/problem?id=2585此题中,每个窗口的位置是固定的。主要就是通过覆盖关系,来建立拓扑排序。如果可以排序,就说明没有问题。重点在这里。//比如在地图中的[2][2]位置,可以放置{1,2,4,5},如果这个地方显示的是5,则说明 5覆盖了1,2,4static int dir[][][]= { //每个位置可以放置哪些窗口{ {1}原创 2013-04-04 11:25:28 · 1638 阅读 · 0 评论 -
ZOJ 2412(Farm Irrigation)
Benny has a spacious farm land to irrigate. The farm land is a rectangle, and is divided into a lot of samll squares. Water pipes are placed in these squares. Different square has a different type o原创 2013-04-01 10:40:33 · 1364 阅读 · 0 评论 -
Kruskal算法
使用并查集和贪心思想。适合稀疏图。一直以为并查集是这样初始化的void UFset(){ for(i=1; i<=n; i++) parent[i] = i;}原来初始化为-1,更方便计算。#include #include #include using namespace std;int parent[10];int n,m;int i,j原创 2013-04-09 17:58:32 · 1645 阅读 · 0 评论 -
DFS和BFS 解棋盘游戏(九度OJ 1091)
DFS利用递归,不必使用多余的数据结构,实现简单。但要注意剪枝。BFS借助队列,往往在求最优解时使用。总是能找到最优解,某些情况下也要剪枝。这两种方法根据具体问题来使用。以此题为例,DFS和BFS都可求解。由于是求最优解,用BFS更为直接。由于此题的不确定性,必须要考虑所有可能情况,结合剪枝。题目1091:棋盘游戏时间限制:1 秒内存原创 2013-04-15 17:09:59 · 3400 阅读 · 3 评论 -
DFS 解 滑雪问题
利用深度优先搜索和存储中间值。#include #include using namespace std;int m, n;int map[101][101];int opt[101][101]; //存储一些中间结果,防止重复计算int ans;int dir[4][2] ={{ -1, 0 },{ 0, -1 },{ 1, 0 },{ 0, 1 } };bool原创 2013-04-21 22:41:48 · 1099 阅读 · 0 评论 -
双向BFS
http://poj.org/problem?id=1077#include //双向BFS poj 1077 16ms#include#include#include using namespace std;const int V=362882;struct nod{ int n,x; //n表示康拓展开的值,x表示9的位置。 int原创 2013-10-17 14:06:41 · 885 阅读 · 0 评论