hdoj 3665 Seaside【最短路】】的更多相关文章

Seaside Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1356    Accepted Submission(s): 973 Problem Description XiaoY is living in a big city, there are N towns in it and some towns near the sea…
题意:给定一个图,你家在0,让你找出到沿海的最短路径. 析:由于这个题最多才10个点,那么就可以用Floyd算法,然后再搜一下哪一个是最短的. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <cstdlib> #include <cmath> #include <io…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3665 题意分析:以0为起点,求到Sea的最短路径. 所以可以N为超级汇点,使用floyd求0到N的最短路径. /*Seaside Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 1151 Accepted Submission(s): 839 P…
Dijkstra. #include <stdio.h> #include <string.h> #define INF 0xfffffff ][]; ]; ]; int main() { int n, m; int i, j, k, min; while (scanf("%d %d",&n,&m)!=EOF && (n||m)) { memset(visit, , sizeof(visit)); ; i<=n; ++i)…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2544 这题的思路可以见这里(同一类型):http://blog.csdn.net/xiaozhuaixifu/article/details/9232921 #include<iostream> using namespace std; const int maxn=101; const int intmax=99999; int weight[maxn][maxn]; //保存权值的邻接矩阵 i…
链接:最短路 A.HDU 2544    最短路 算是最基础的题目了吧.............我采用的是Dijkstra算法....... 代码: #include <iostream> #include <cstring> #include <cstdio> using namespace std; #define inf 0x3f3f3f3f ][],d[],vis[],n,m; int Dijkstra() { memset(vis,,sizeof(vis));…
题目:hdoj 2066 一个人的旅行 方法:缩点 + 最短路 分析:看了大神的一篇博客,讲冗余压缩的,然后就想找一个多源最短路练练手. 这个题目就是典型的多源多汇最短路 方法:把全部的源点压缩成一个点,然后汇点压缩成一个点,然后跑最短路 注意: 1:求最短路的时候邻接表存储有重边不影响结果. 2:此题有重边. 3:要特殊处理源点和汇点是同一个点的情况.为0 AC代码: #include <cstdio> #include <cstring> #include <string…
最短路 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 38585    Accepted Submission(s): 16862 Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在他们想要寻找…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 思路分析:该问题给定一个无向图.起始点和终点,要求求出从起始点到终点的最短距离: 使用Dijkstra算法求出从起始点到所有的其他点的最短路长度即可,如果最短路长度为INT_MAX,表示从起始点到该点没有路径相连: 代码如下: #include <queue> #include <climits> #include <cstdio> #include <vect…
题意:每两种货币之间都有不同的汇率  如果换回自己最后是赚的 输出Yes 否则是No 因为最多只有三十种货币 所以用Floyd是可行的 与一般的最短路板子不同的地方 汇率是要乘而不是加 如果乘上一个小于1的数就会比之前小 将每种货币看作点 汇率建边 如果这两种货币不能兑换 就设为0 最后与自己判断是否大于1 如果是 则存在套利 如果不是就不存在 代码如下: #include <iostream> #include <cstdio> #include <cstring>…