图论
文章平均质量分 68
Non_Cease
这个作者很懒,什么都没留下…
展开
-
poj3026 bfs + Prim
对每一个人'用一次BFS,记录其他人与他的距离,并建图。 图建好后,用Prim求最小生成树即为答案。 #include #include #include using namespace std; #define M 105 #define VN 2500 #define INF 1000000000 int map[M][M], dist[M][M], que_x[VN], q原创 2011-11-28 10:26:10 · 1262 阅读 · 0 评论 -
poj2031 prim
prim水题,别被3D吓到。 注意相交情况和浮点数的比较就行了。 //296K 32ms #include #include using namespace std; #define INF 10000.000 #define SIZE 102 #define EPS 1e-10 int n; double graph[SIZE][SIZE], dist[SIZE]; bool visi原创 2011-08-21 12:35:07 · 671 阅读 · 0 评论 -
poj1789 Prim
此题难点在于读题,明白题意后就是一个很简单的最小生成树 明白一点就行:将每一个卡车类型代码(truck type codes)作为一个结点,任意两个 卡车类型代码中 相同位置即字符数组a[8],b[8] 上 a[i]和b[i]为不同字符的位置的个数 做为 这两个结点之间的路径的权值。 如果没看懂这一点就要看代码: #includ原创 2011-07-08 18:47:22 · 573 阅读 · 0 评论 -
拓扑排序 poj1094
此题题目有点小问题,那也是很多人AC不了的原因: 问题是,当给定的前k项条件能够确定出大小顺序时,即便k项之后出现了矛盾条件,输出也应该是Sorted sequence determined after k relations 后面再输出排序好的序列! #include #include using namespace std; #define SIZE 27 int inD原创 2011-09-02 20:13:27 · 590 阅读 · 0 评论 -
poj2485 Kruskal
#include using namespace std; #define SIZE 502 int father[SIZE]; int n,size; struct Edge { int sta,end,weigh; } e[SIZE*SIZE/2]; int cmp(const void* a, const void* b) { return (*(Edge*)a).weigh -原创 2011-07-08 20:13:11 · 553 阅读 · 0 评论