上一页 1 ··· 3 4 5 6 7
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1116题意:给出N个字符串,若所以字符串能连成一串则输出Ordering is possible.否则输出The door cannot be opened.非常蛋疼的用了并查集.思路是用并查集找出所有字符串能不能形成一个集合(只有一个几个 + 用欧拉图的特性判断能不能把所有的点连成一线判断欧拉图: 欧拉回路:所有点的入度等于出度. 欧拉通路:有且仅有两个点的入度不等于出度且入度与出度相差1.(注意:判断时相差2的不能忽略,也要进行记录)View Code 1 #include <iostrea... 阅读全文
posted @ 2012-08-26 13:50 zx雄 阅读(261) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1272题目要求有两个条件:1.在给定图中无环 2.给定的图有且仅有有1个连通分支判断环:在输入时判断点a点b是否有相同的根节点,有相同根节点再加一条直接连通的边就有环.判断连通分支数:判断有几个跟节点 if(father[i]==i)View Code 1 #include <iostream> 2 using namespace std; 3 const int MAX = 100000 + 100; 4 int father[MAX]; 5 int rank1[MAX]; ... 阅读全文
posted @ 2012-08-25 17:53 zx雄 阅读(226) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1232题意:不好说,自己看.基本上根据并查集模版写出代码,只是作出简单的调用和在函数Union()中增加了道路数量的计算.View Code 1 #include <iostream> 2 using namespace std; 3 const int MAX = 1000 + 100; 4 int father[MAX]; 5 int rank1[MAX]; 6 int sign[MAX]; 7 int step; 8 void Make_Set(int x)//初始化 9 {10 fathe 阅读全文
posted @ 2012-08-25 16:18 zx雄 阅读(290) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1198题意:输入A~K 各代表一个图形,判断有多少个联通分支听说用DFS比较简单,但是还是用了BFS定义一个函数 way() 判断向四个方向是否联通BFS中用四句if语句(可优化)判断当前位置能不能走到下一个位置 和 下个位置能不能走到当前位置View Code 1 #include <iostream> 2 #include <queue> 3 using namespace std; 4 struct Node 5 { 6 int x; 7 int y; 8 }; 9 ... 阅读全文
posted @ 2012-08-23 20:48 zx雄 阅读(189) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1312题意:给一幅图,算出有从起点出发最多能走多少步.一个简单的搜索题,用的是广搜View Code 1 #include "iostream" 2 #include "queue" 3 using namespace std; 4 struct FUN 5 { 6 int x; 7 int y; 8 }; 9 int point[4][2]={{0,1},{0,-1},{1,0},{-1,0}};10 int mark_x;11 int mark_y;12 int . 阅读全文
posted @ 2012-08-23 16:57 zx雄 阅读(351) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1237题意:输入一个只有 +,-,*,/和数字的算式,输出计算结果,数字与符号之间以空格隔开.数据直到输入一行为0结束 输出为计算结果,结果保留小数点后两位.一边输入,一边处理的方式.用cin>>num输入第一个数后就开始处理模拟中序表达式转换后续表达式注: 有0+0的数据View Code 1 #include <iostream> 2 #include <stack> 3 using namespace std; 4 5 struct FUN 6 { 7 char ch 阅读全文
posted @ 2012-08-23 16:10 zx雄 阅读(1537) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1873主要练习优先队列的应用,学会如何重载小于号(operator <)若用自定义类型应用优先队列时要重载小于号,类比sort函数 View Code 1 #include <iostream> 2 #include <queue> 3 #include <string> 4 using namespace std; 5 struct FUN 6 { 7 int ID; 8 int lv; 9 friend bool operator < (const FUN 阅读全文
posted @ 2012-08-23 12:06 zx雄 阅读(451) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1495View Code 1 /*题意:要求将一瓶可乐平均分成份,问能否平均分成两份,如果能输出最少需要几次否则输出NO 2 题目给出三个整数 S N M S表示可乐总量 N M分别为两个杯子的容量 且 S= N + M 3 4 分析:题目是由 S 0 0 状态 转换到 0 S/2 S/2 的状态且要找出最优解,用广搜 5 题目只有6种状态转换方式,建立一格六叉数的模型进行遍历。 6 用结构体记录步数 步数为弹出队头元素的步数+1 7 遍历完成条件为 1.... 阅读全文
posted @ 2012-05-26 17:46 zx雄 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1312View Code 1 /*题意:给出一个n*m的矩阵,矩阵有三种符号 @ # . 2 @ - 起点 3 # - 障碍 4 . - 通道 5 求从@出发,可能移动到的位置的数目。 6 7 注意: DFS时要注意第一个点的标记 8 */ 9 #include "iostream"10 #include "queue"11 using namespace std;12 struct FUN13 {14 int x;15 int y;16 };17 int point[ 阅读全文
posted @ 2012-05-26 14:45 zx雄 阅读(328) 评论(0) 推荐(0) 编辑
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=1253View Code 1 /*题意:在一个三维空间中,一个人从起点走到终点每走一步要一秒,求走到终点的时间。 2 若走到终点的时间小于规定时间,输出时间,否则输出-1 3 4 注意:要清楚X Y Z 个代表哪一个坐标 5 */ 6 #include <iostream> 7 #include <stdio.h> 8 #include <queue> 9 using namespace std;10 int point[6][3]={0,0,1,0,0,-1,1,0,0, 阅读全文
posted @ 2012-05-26 13:07 zx雄 阅读(251) 评论(0) 推荐(0) 编辑
上一页 1 ··· 3 4 5 6 7