ACM暑假集训标准程序_Day5_1009
来源:互联网 发布:第四方支付程序源码 编辑:程序博客网 时间:2024/05/22 06:34
SPFA模板题
如果用临接矩阵存图,请注意判断重边,保留边权较小的那一条。
#include<queue>#include<iostream>#include<cstdio>#include<vector>#include<cmath>using namespace std;const int MAX=100005;int n,tp,i,s,m,e,w;const int MaxData=0x7fffff;struct edge_ { int to,w;}edge,temp;vector<edge_>adjmap[MAX];int dis[MAX];int spfa(int s) { queue<int>tag; int i; for(i=0; i<n+1; ++i) { dis[i] = MaxData; } dis[s]=0; tag.push(s); int tp,to; while(!tag.empty()){ tp=tag.front(); tag.pop(); for(int i=0;i<adjmap[tp].size();i++){ to=adjmap[tp][i].to; if(dis[to]>dis[tp]+adjmap[tp][i].w){ dis[to]=dis[tp]+adjmap[tp][i].w; tag.push(to); } } } return -1;}int main(){ int t; cin>>t; while(cin>>n>>m&&t--){ int from,to; cin>>from>>to; for(i=0;i<MAX;i++) adjmap[i].clear(); for(i=0;i<m;i++){ scanf("%d%d%d",&s,&e,&w); temp.to=s; temp.w=w; adjmap[e].push_back(temp); temp.to=e; adjmap[s].push_back(temp); } spfa(from); if(dis[to]!=MaxData) cout<<dis[to]<<endl; else cout<<"Poor,Jony."<<endl; }}
- ACM暑假集训标准程序_Day5_1009
- ACM暑假集训标准程序_Day5_1001
- ACM暑假集训标准程序_Day5_1002
- ACM暑假集训标准程序_Day5_1006
- ACM暑假集训标准程序_Day5_1007
- ACM暑假集训标准程序_Day5_1008
- ACM暑假集训标准程序_Day5_1010
- ACM暑假集训标准程序_Day5_1003-1005_暂时略,稍后公布。
- ACM暑假集训(0)
- ACM暑假集训方法
- ACM暑假集训训练场
- acm暑假集训已经过半...
- ACM暑假留校集训总结
- 2016ACM暑假集训 - Sticks
- 2016ACM暑假集训总结
- 暑假ACM集训报告总结
- 2017ACM暑假集训感悟
- 2017ACM暑假集训总结
- struts2的s:iterator 标签 详解
- ASP.Net MVC分页分享
- 使用JS解码解决参数乱码问题
- 解决SSH自动断线,无响应的问题。
- cdev_alloc和cdev_init
- ACM暑假集训标准程序_Day5_1009
- 【转】C#传委托给C的函数指针调用问题
- 得到数组的最后一个数的趣味实现
- Asp.net MVC +JQueryValidation + AjaxForm
- Github windows: Commit failed: Failed to create a new commit
- C#与SQL的数据对比关系
- 8月17日 使用ISE进行FPGA开发的最简单步骤视频的说明
- ACM暑假集训标准程序_Day5_1010
- 某务实大牛的说法(给人一种触手可及的感觉)