随笔分类 -  图论

摘要:题目连接http://poj.org/problem?id=1251代码#include<stdio.h>#include<stdlib.h>#include<string.h>int parent[257];int n, m;struct node { char u, v; int w;};struct node a[101];int cmp(const void *a, const void *b){ struct node c = *(struct node *)a; struct node d = *(struct node *)b; return 阅读全文
posted @ 2012-11-10 17:11 小猴子、 阅读(316) 评论(0) 推荐(0)
摘要:题目连接:http://poj.org/problem?id=1861题目描述:Andrew是某个公司的系统管理员,他计划为他的公司搭建一个新的网络。在新的网络中,有N个集线器,集线器之间可以通过网线连接。由于公司职员需要通过集线器访问整个网络,因此每个集线器必须能通过网线连接其他集线器(可以通过其他中间集线器来连接)。由于有不同长度的网线可供选择,而且网线越短越便宜,因此Andres所设计的方案必须确保最长的单跟网线的长度在所有方案中是最小的。并不是所有集线器之间都可以直接连接,但Andrew会提供集线器之间所有可能的连接。试帮助Andrew设计一个网络,连接所有的集线器并满足前面的条件。输 阅读全文
posted @ 2012-11-09 21:44 小猴子、 阅读(550) 评论(0) 推荐(0)
摘要:题目连接http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=203题目描述:给定平面上N个城市的位置,计算连接这N个城市所需线路长度总和的最小值。输入描述:输入文件中包含多个测试数据。每个测试数据的第1行为一个正整数N,0《=N《=100,代表需要连接的城市数目;接下来有N行,每行为两个实数X和Y,-10000《=X,Y《=10000,表示每个城市的X坐标和Y坐标。输入文件中最后一行为N=0,代表输入结束。输出描述:对输入文件中每个测试数据,计算连接所有城市所需线路长度总和的最小值。每对城市之间的线路为连接这两个城市的直线。对于 阅读全文
posted @ 2012-11-09 14:52 小猴子、 阅读(725) 评论(0) 推荐(0)
摘要:题意:给出一个数 n,代表有n个点,编号为1-n,接下来n行,每行若干个数字,读到0结束,以行号为起点,输入的数字为终点建一条有向边,求一种可能的拓扑排序。View Code #include<stdio.h>#include<stack>#include<string.h>using namespace std;const int MAXN = 100 + 10;struct node{ int to; struct node *next;};int nE;node Edge[MAXN * 2];node *head[MAXN];int count[MAX 阅读全文
posted @ 2012-07-26 12:45 小猴子、 阅读(280) 评论(0) 推荐(0)
摘要:解题报告参见《图论算法理论、实现及应用》 王桂平主编 北京大学出版社 P74。View Code #include<stdio.h>#include<iostream>#include<string.h>#include<string>using namespace std;const string end = "ENDOFINPUT";string cover[4][4]; //表示能覆盖(i,j)位置的窗口的集合。int mp[5][5]; //屏幕快照上最后显示的内容。bool g[10][10]; //邻接表。bool 阅读全文
posted @ 2012-07-25 23:26 小猴子、 阅读(327) 评论(0) 推荐(0)