思路:裸SPFA过一遍(建议使用邻接链表存储),无向图,无向图,无向图,重要的事情要说三遍!!!蜜汁RE是什么鬼????第九个点数组开到20K,第十个点数组开到30K才AC。或许我代码写的有bug?(逃

CODE:

 #include<iostream>
#include<queue>
using namespace std;
queue<int>q;
struct Edge{
int pre,to,w;
}edge[];
int head[];
bool if_q[];
int dis[];
int T, C, Ts, Te,Rs, Re,Ci;
int num_edge;
inline void add_edge(int from,int to,int w)
{
edge[++num_edge].pre=head[from];
edge[num_edge].to=to;
edge[num_edge].w=w;
head[from]=num_edge;
}
inline void spfa(int u)
{
q.push(u);
if_q[u]=true;
while(!q.empty())
{
u=q.front();
for(int i=head[u]; i!=; i=edge[i].pre)
{
int v=edge[i].to;
if(dis[u]+edge[i].w<dis[v])
{
dis[v]=dis[u]+edge[i].w;
if_q[v]=true;
q.push(v);
}
}
if_q[u]=false;
q.pop();
}
}
int main()
{
for(int i=;i<;i++)
dis[i]=0x7fffffff;
cin>>T>>C>>Ts>>Te;
for(int i=;i<C;i++)
{
cin>>Rs>>Re>>Ci;
add_edge(Rs,Re,Ci);
add_edge(Re,Rs,Ci);
}
dis[Ts]=;
spfa(Ts);
cout<<dis[Te];
return ;
}

注:就是模板题,STL大法好,哈哈哈。

最新文章

  1. [C#] 走进异步编程的世界 - 在 GUI 中执行异步操作
  2. Java import以及Java类的搜索路径
  3. AFNetwork2.0在报错1016,3840的解决方法及一些感悟
  4. 关于app.config不能即时保存读取的解决方案
  5. 快速幂 --- CSU 1556: Jerry&#39;s trouble
  6. synergy在Windows和ubuntu 多台PC共享一套键盘鼠标
  7. acess() 判断目录是否存在
  8. freeCodeCamp:Search and Replace
  9. sql2012安装过程中出现个一个问题
  10. go语言细节
  11. COJ 0046 20701除法
  12. 数据结构:(平衡树,链表)BZOJ 1588[HNOI2002]营业额统计
  13. 加入功能区buttonRibbon Button到SP2010特定列表或库
  14. FLAnimatedImageView处理gif过程
  15. 表单验证插件--formvalidation
  16. Pat1128:N Queens Puzzle
  17. 3--TestNG多线程
  18. JavaScript通知浏览器,更改通知数目
  19. GTK安装
  20. 【BZOJ2434】[NOI2011]阿狸的打字机 AC自动机+DFS序+树状数组

热门文章

  1. Android 开发 ContentProvider 获取歌曲列表和联系人的样例
  2. mac下安装tensorflow及入门例子
  3. 卡尔曼滤波(Kalman Filter) 的进一步讨论
  4. SQL SERVER的整型运算,让人大吃一惊
  5. Recovery 中的UI知识积累【转】
  6. Java中jspf文件的作用
  7. PCB Genesis脚本C#使用WPF窗体实现方法
  8. php 关于使用七牛云存储
  9. Echarts配置
  10. 常用的 Maven 命令