
图论
静默加载
优秀的判断力来自于经验,但经验来自于错误的判断。在看着别人走过的路时,思考怎么走自己的路。无私奉献不是天方夜谈,有时候,我们也可以做到。
-
原创 HDOJ 1181 变形课
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1181 #include #include #include using namespace std; struct { char beg; char end; }M[101]; bool hash[101],f; int N; bool DFS(char ch) { if(ch2015-12-18 18:07:00382
0
-
原创 HDOJ 1240 Asteroids!
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1240 题目解析:题目给了一个三维的空间坐标系,找一个点到另一个的最短的距离,这其实和二维的一样, 只不过有些的小小的改动,我自己是按照广搜的,每一次搜完之后清空 #include #include #include #include const int MAX=1000000; using nam2015-12-18 18:13:03348
0
-
原创 HDOJ 4337 King Arthur's Knigh…
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4337 题目感觉用深搜, #include #include #define MAX 200 int n,m,step; int map[MAX][MAX]; int visit[MAX]; bool pass[MAX],flag; void dfs(int x,int step) { int2015-12-18 18:12:56341
0
-
原创 HDOJ 1312 Red and Black
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1312 水一样的深搜,, #include #define MAX 20 int n,m,count; int dri[4][2]={{0,1},{0,-1},{1,0},{-1,0}}; char map[MAX][MAX]; void dfs(int x,int y) { count++;2015-12-18 18:12:45307
0
-
原创 HDOJ 1241 Oil Deposits
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1241 简单的深搜题目,,, #include #define MAX 100+1 int n,m; int dri[8][2]={{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,-1},{1,-1},{-1,1}}; char map[MAX][MAX]; void dfs(i2015-12-18 18:12:43306
0
-
原创 HDOJ 2717 Catch That Cow
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2717 #include #include #include using namespace std; #define MAX 200100//因为输入的数n,k最大值为100000, //但有一个2*k位置要存储,所以要将N设置到两倍最大值。 int farmer[MAX];/数组记录前进的步数 i2015-12-18 18:12:37531
0
-
原创 HDOJ 1301 Jungle Roads
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1301 很好写的prim吧,同样Kruskal也可以 #include #include #include #define MAX 1000000 int Edge[27][27]; int lowcost[27]; int n; void init() { int i,k,num,x,y;2015-12-18 18:12:35377
0
-
原创 HDOJ 1162 Eddy's picture
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1162 prime算法好些,但Kruskal也可以 #include #include #include #define MAX 1000000 double Edge[110][110]; double as[110][2]; double lowcost[110]; int n; void ini2015-12-18 18:12:32498
0
-
原创 HDOJ 4318 Power transmission
题目:http://acm.hdu.edu.cn/showproblem.php?pid=4318 结题报告: 我们要求损耗最小,也就是剩余最大。对于每个节点,我们记录起当前可以达到的剩余最大电力。和Dijkstra算法相似,我们这里每次找寻的是尚未标记的拥有最大值的结点,并把这个最大值作为当前结点的最终结果,标记此结点并通过当前结点拓展与之相连的结点。因为从一个结点传输电力到另一个几点,电力的2015-12-18 18:11:52587
0
-
原创 HDOJ 2544 最短路
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2544 #include #define INF 10000000 #define MAXN 200 //数组一定要开大........ int n,m; int Edge[MAXN][MAXN]; int s[MAXN],dist[MAXN]; void Dijkstra(int v0) {2015-12-18 18:08:59321
0
-
原创 HDOJ 1875 畅通工程再续
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1875 找最小生成树,Prim算法搞定.... #include #include #include #define INF 100000000 #define MAXN 250 int n; int Edge[MAXN][2]; double edges[MAXN][MAXN]; double lo2015-12-18 18:08:49313
0
-
原创 HDOJ 1874 畅通工程续
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 开始学习最短路,感觉Dijkstra算法还挺好用的...... #include #define INF 10000000 #define MAXN 250 int n,m,beg,end; int Edge[MAXN][MAXN]; int s[MAXN],dist[MAXN]; void Di2015-12-18 18:08:46323
0
-
原创 HDOJ 1233 还是畅通工程
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1233 开始做图论的题这些还是比较好的,简单容易 #include #define INF 1000000 #define MAXN 205 int Edge[MAXN][MAXN]; int lowcost[MAXN]; int min_tree(int n) { int i,j,k;2015-12-18 18:08:39300
0
-
原创 HDOJ 1232 畅通工程
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1232 最开始做最小生成树的题,自己不会做,在网上找了一个代码看了一下, 感觉思路很清晰,找树的根的个数(联通分支数)K,最后要修的K-1路就是把这些根链接起来 形成一个最小生成树 #include int bin[1002]; int findx(int x) { int r=x; wh2015-12-18 18:08:36343
0
-
原创 HDOJ 2181 哈密顿绕行世界问题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=2181 有两种代码,感觉都挺好的 #include #include using namespace std; const int MAXN = 23; bool visit[MAXN]; int n,g,p[MAXN][3],pas[MAXN]; void dfs(int c,int cnt){2015-12-18 18:07:02282
0
-
原创 HDOJ 1242 Rescue
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1242 代码: #include #include #include #include #include using namespace std; const int MAXN=200; const int INF=10000000; typedef struct points{ int x,2015-12-18 18:13:47338
0