摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=3790用Dijstra,考虑重边的情况。源代码: 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 typedef struct{ 7 int di,p;}road; 8 road w[1005][1005],d[1005]; 9 int visit[1005];10 const int INF=100000000;11 int main()12 {13 int n,m,i,j,s,e,ok,temp_1,... 阅读全文
posted @ 2013-08-07 18:39 小の泽 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=2680一直在纠结时间相等时入队列的先后问题,突然发现自己二呀,路径相等的都会依次入队啊~~~好了,说正事,最短路问题,用Dijkstra,注意几个地方:1.这个问题可以倒过来想,从终点到这几个点中的最短距离。2.路是有向的,如果倒过来想问题,那么路的方向也要倒过来。eg: 输入1 2 5即从1到2的时间是5,那么如果倒过来考虑(以她朋友的家为起点),就要记录w[2][1]=5;源代码: 1 #include 2 #include 3 #include 4 #include 5 using namesp. 阅读全文
posted @ 2013-08-07 16:06 小の泽 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1869最短路问题,没什么好说的,果断Floyd,直接上代码。源代码: 1 #include 2 #include 3 4 using namespace std; 5 const int INF=100000; 6 int d[105][105]; 7 int main() 8 { 9 int n,m,i,j,k,temp_1,temp_2,ok;10 while(scanf("%d %d",&n,&m)!=EOF){11 ok=1;12 for(i=0;id... 阅读全文
posted @ 2013-08-07 10:55 小の泽 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874这题用Floyd比较方便,一般结点数在300以下的都可以用Floyd.说一下需要注意的地方:1.题目的意思说每两个结点可能有多条路,所以输入两结点的距离的时候要考虑是不是比之前可能输入过的距离短。2.询问可能出现起点和终点是同一点的情况。源代码: 1 #include 2 #include 3 #define max 10000000 4 using namespace std; 5 int d[105][105]; 6 int main() 7 { 8 int n,m,i,j,k,s,e... 阅读全文
posted @ 2013-08-07 10:11 小の泽 阅读(86) 评论(0) 推荐(0) 编辑