UVa 10048 Audiophobia 最短路的最大值
来源:互联网 发布:淘宝装修 客户达 编辑:程序博客网 时间:2024/06/13 01:33
分析:dist[]记录到目前为止的最大值,一直更新到终点。
给出dijkstra和spfa算法
/*求最短路的最大值*/#include<iostream>#include<algorithm>#include<queue>#include<vector>#include<string>#include<cstring>#include<cstdio>const int maxn=1005;const int INF=0x3f3f3f3f;typedef long long LL;using namespace std;struct Edge{int e,w;Edge(){}Edge(int _e,int _w):e(_e),w(_w){}bool operator <(const Edge &v)const{return w>v.w;}};vector<Edge> edges[maxn]; //邻接表 int dist[maxn]; //记录到目前为止的最大值int vis[maxn]; int dij(int S,int E){priority_queue<Edge> q; memset(dist,INF,sizeof(dist));memset(vis,0,sizeof(vis));dist[S]=0;q.push(Edge(S,0)); //起点到自己的距离为0 while(!q.empty()){int s=q.top().e;q.pop();if(vis[s]) continue;vis[s]=1;for(int i=0;i<edges[s].size();i++){int e=edges[s][i].e;int w=edges[s][i].w;if(!vis[e]&&dist[e]>max(dist[s],w)) //有比到目前为止更大的值,则更新 {dist[e]=max(dist[s],w);q.push(Edge(e,w));}}}return dist[E];}int spfa(int S,int E){memset(vis,0,sizeof(vis));memset(dist,INF,sizeof(dist));queue<int> q;q.push(S);dist[S]=0;vis[S]=1;while(!q.empty()){int s=q.front();q.pop();vis[s]=0;for(int i=0;i<edges[s].size();i++){int e=edges[s][i].e;int w=edges[s][i].w;if(dist[e]>max(dist[s],w)) {dist[e]=max(dist[s],w);if(!vis[e]) {vis[e]=1;q.push(e);}}}}return dist[E];}int main(){//freopen("E:\\ACM\\test.txt","r",stdin);int N,M,Q;int t=1;while(cin>>N>>M>>Q,N+M+Q){for(int i=0;i<maxn;i++) edges[i].clear();int s,e,w;for(int i=0;i<M;i++){cin>>s>>e>>w;edges[s].push_back(Edge(e,w));edges[e].push_back(Edge(s,w));}if(t!=1) puts("");cout<<"Case #"<<t++<<endl;for(int i=0;i<Q;i++){cin>>s>>e;int ans=dij(s,e);//int ans=spfa(s,e);if(ans==INF) puts("no path");else cout<<ans<<endl;}}return 0;}
阅读全文
0 0
- UVa 10048 Audiophobia 最短路的最大值
- UVA-10048 Audiophobia(最短路上的最小值,Folyd)
- UVa 10048 Audiophobia(最短路&Floyd)
- UVA10048-Audiophobia-最短路
- UVA - 10803 Thunder Mountain 最短路的最大值
- UVaOJ 10048 Audiophobia(最小化最短路的最大权值边)
- uva 10048 - Audiophobia(floyd 的变形)
- UVA - 10048 Audiophobia floyd的变形
- uva 10048 Audiophobia floyd的变形
- uva 10048 - Audiophobia(floyd 的变形)
- UVA 10048 - Audiophobia
- uva 10048 - Audiophobia
- UVA 10048 - Audiophobia
- UVa 10048 - Audiophobia
- Uva 10048 - Audiophobia
- UVa 10048: Audiophobia
- Uva - 10048 - Audiophobia(Floyd)
- UVa:10048 Audiophobia
- python的默认参数和可变对象研究
- hihocoder1039 字符消除 永远不要着急,容不得一丝差错
- 面向网络编程
- 广播时刻监听网络状态
- uc/os程序设计点滴记录
- UVa 10048 Audiophobia 最短路的最大值
- python fuzzywuzzy模块 模糊字符串匹配详细用法
- source insight 保存时出现error:too many files are open.
- Python模块之信号学习(signal)
- java 线程 自定义循环出口和interrupt的区别 学习笔记
- 算法复杂度简析
- HBase数据库检索性能优化策略
- 两人过桥
- 使用uc/os开发要明确的几个堆栈