题目链接:http://poj.org/problem?id=2387

题意:求从1到n的最短路

题解:板子题。spfa。

代码:

 1 #include<iostream>
 2 #include<stack>
 3 #include<vector>
 4 #include<queue>
 5 #include<algorithm>
 6 using namespace std;
 7 const int maxn = 2e5+7;
 8
 9 vector< pair<int,int> > e[maxn];
10
11 int n,m;
12 int d[maxn],inq[maxn];
13
14 void init(){
15     for(int i = 0; i < maxn; i++)
16         e[i].clear();
17     for(int i = 0 ;i < maxn ; i++)
18         inq[i] = 0;
19     for(int i = 0 ; i < maxn ; i++)
20         d[i] = 1e9;
21 }
22
23 int main(int argc, const char * argv[]) {
24     while(cin>>m>>n){
25         init();
26         int x,y,z;
27         for(int i = 0; i < m ;i++){
28             cin>>x>>y>>z;
29             e[x].push_back(make_pair(y,z));
30             e[y].push_back(make_pair(x,z));
31         }
32         int s,t;
33         //cin>>s>>t;
34         s = 1;
35         t = n;
36         queue<int>Q;
37         Q.push(s);d[s] = 0 ;inq[s] = 1;
38         while( !Q.empty() ){
39             int now = Q.front();
40             Q.pop();
41             inq[now] = 0;
42             for(int i = 0; i < e[now].size() ; i++){
43                 int v = e[now][i].first;
44                 if(d[v] > d[now] + e[now][i].second){
45                     d[v] = d[now] + e[now][i].second;
46                     if(inq[v] == 1)
47                         continue;
48                     inq[v] = 1;
49                     Q.push(v);
50                 }
51             }
52
53         }
54         if(d[t] == 1e9)
55             cout<<-1<<endl;
56         else
57             cout<<d[t]<<endl;
58     }
59     return 0;
60 }


看题没看仔细。。。一直n和m输入反了,还以为是去重的问题。搞了好久。。然后发现其实pair这样存储的模式不用考虑去重的问题。也算是有所收获吧。哎。心痛。。

转载于:https://www.cnblogs.com/Asumi/p/9699058.html

【POJ】2387 Til the Cows Come Home相关推荐

  1. 【POJ】1067 取石子游戏(博弈论)

    Description 有两堆石子,数量任意,可以不同.游戏开始由两个人轮流取石子.游戏规定,每次有两种不同的取法,一是可以在任意的一堆中取走任意多的石子:二是可以在两堆中同时取走相同数量的石子.最后 ...

  2. 【POJ】2676-Sudoku 【51Nod】1211-数独(DFS)

    [POJ]2676-Sudoku Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 25200 Accepted: 11782 Sp ...

  3. 【POJ】 1014 Dividing(多重背包,优化)

    [POJ] 1014 Dividing(多重背包,优化) [题目链接]http://poj.org/problem?id=1014 题目 Description Marsha and Bill own ...

  4. 【POJ】1456 supermarket

    [POJ]1456 supermarket 给定 n 件物品,第 i件物品有如下信息: 卖出去可以得到pi的收益. 过期时间为di ,过了过期时间就不能再卖出去. 卖掉一件物品要用 1 的时间,求最大 ...

  5. POJ 2387 Til the Cows Come Home (最短路径 模版题 三种解法)

    原题链接:Til the Cows Come Home 题目大意:有  个点,给出从  点到  点的距离并且  和  是互相可以抵达的,问从  到  的最短距离. 题目分析:这是一道典型的最短路径模版 ...

  6. Poj 2387 Til the Cows Come Home 迪杰斯特拉(普通+优化)

    Til the Cows Come Home 迪杰斯特拉(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n( ...

  7. POJ 2387 Til the Cows Come Home

    传送门:http://poj.org/problem?id=2387 这是最短路径问题,本题有重边,但是spfa能解决这个问题: 实现代码: SPFA: 1 #include <iostream ...

  8. POJ - 2387 Til the Cows Come Home

    感觉一直写的dij堆优化都是假的,最短路板子spfa+ dij堆优化 SPFA #include<stdio.h> #include<string.h> #include< ...

  9. poj 2387 Til the Cows Come Home dijkstra

    题意: 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n(2<=n<=1000)个地标,唯一编号为1-n.地标 ...

最新文章

  1. 腾讯云轻量应用服务器 开放端口
  2. 都是推荐系统,广告算法和推荐算法有啥区别?
  3. HtmlUnit动态执行js函数
  4. python程序设计基础实战教程_Python程序设计基础实战教程
  5. php接收arduino向服务器发来的请求
  6. 鲁迅散文——狗的驳诘
  7. HttpServletRequest类用途
  8. linux树莓派mysql_树莓派4B(二):搭建LNMP(LINUX+NIGIX+MYSQL+PHP)+ Pi Dashboard
  9. C#带按钮的文本框TextBoxContainButton
  10. 送给计算机老师的话,送给老师的话
  11. Pycharm连接BitBucket
  12. 谷粒商城:11.商品服务 — 新增商品
  13. 计算机装系统找不到硬盘分区,如果U盘安装系统找不到硬盘分区,该怎么办?...
  14. GMT和UTC时区概念
  15. OpenCV_tutorials 04 imgproc module - Affine Transformations
  16. c语言什么意思000094,Hello World 背后的真实故事
  17. 百思不得其姐学习笔记
  18. 内涵外延发生巨变的嵌入式技术,未来如何发展?
  19. 机器学习 - Python Matplotlib 练习, 常见功能查阅
  20. 【Materials Studio学习六】构建固液表面

热门文章

  1. Netty+SpringBoot+FastDFS+Html5实现聊天App详解(一)
  2. 双11不过瘾?双十二低至半价继续抢,更有免费学的机会等你抢!
  3. DDOS学习笔记(《破坏之王-DDOS攻击与防范深度剖析》)
  4. PL/SQL控制结构
  5. VMware Workstation 8正式版下载+密钥序列号
  6. 风雨网规路:跌倒了,是件坏事吗?
  7. 一个修改RAC REDO引起的DATAGUARD错误 的处理
  8. Eclipse Outline图标
  9. verilog读写文件(整理)
  10. Java集合—哈希(hash)表