POJ1797---Heavy Transportation(最短路变形)
来源:互联网 发布:程序员真的每天很累吗 编辑:程序博客网 时间:2024/05/17 22:52
题目来源:https://vjudge.net/problem/POJ-1797
【题意】
从点1到点n,很多条路径,每条路径都有一个最小的权值,求这些最小的权值里的最大值。
【思路】
这道题和我做的的上一题差不多一样的做法(自行点击)。均是维护d数组就可以了,只不过稍微有些变化而已,做这种题的关键是理解。
【代码】
#include<cmath>#include<cstdio>#include<cstring>#include<algorithm>#define INF 0x3f3f3f3fusing namespace std;int w[1010][1010];int d[1010];bool vis[1010];int n,m;void djs(){ for(int i=1; i<=n; i++) { d[i]=w[1][i]; vis[i]=0; } for(int i=1; i<=n; i++) { int m=-1; int x=-1; for(int j=1; j<=n; j++) if(!vis[j]&&d[j]>m) m=d[x=j]; if(x!=-1) { vis[x]=1; for(int j=1; j<=n; j++) if(!vis[j]&&d[j]<min(d[x],w[x][j])) d[j]=min(d[x],w[x][j]);//维护d数组 } }}int main(){ int T,t=1; scanf("%d",&T); while(T--) { scanf("%d%d",&n,&m); for(int i=1; i<=n; i++) for(int j=1; j<=n; j++) w[i][j]=i==j?0:-1; for(int i=1; i<=m; i++) { int x,y,z; scanf("%d%d%d",&x,&y,&z); if(w[x][y]<z) w[x][y]=w[y][x]=z; } djs(); printf("Scenario #%d:\n%d\n\n",t++,d[n]); }}
阅读全文
0 0
- poj1797 Heavy Transportation(最短路变形)
- poj1797 Heavy Transportation(最短路变形)
- POJ1797---Heavy Transportation(最短路变形)
- 【POJ1797】Heavy Transportation 最短路
- POJ1797 Heavy Transportation 最短路
- Heavy Transportation(最短路变形)
- 【POJ1797】 Heavy Transportation(最短路DIJ变种)
- poj1797 - Heavy Transportation(Dij变形)
- poj1797—Heavy Transportation(spfa变形)
- poj1797 Heavy Transportation spfa变形
- 【POJ1797】【Heavy Transportation】【dij变形】
- poj1797 Heavy Transportation dijkstra变形
- poj 1797 Heavy Transportation (最短路变形)
- POJ 1797 Heavy Transportation 最短路变形
- Poj 1797 Heavy Transportation ( 最短路变形
- POJ1797 Heavy Transportation(dijkstra变形,spfa)
- poj1797 最短路变形
- POJ 1797 Heavy Transportation Dijstr最短路变形
- 如何安装spark
- 浅聊Java反射机制(三)
- 查询语句的执行顺序
- HashMap实现原理及源码分析
- Linux简介及系统安装
- POJ1797---Heavy Transportation(最短路变形)
- Javadoc规范一图明白
- easyui ueditor 赋值
- activeMQ-传输协议
- 【OpenCV入门教程之十七】OpenCV重映射 & SURF特征点检测合辑
- linux 下使用 tc 模拟网络延迟和丢包
- c++ assert() 使用方法
- select的fd超过1024将会非常危险------FD_SET导致core dump
- <Python learning>Basic