Heavy Transportation(POJ - 1797 变形版 dijkstra)
Background
Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand
business. But he needs a clever man who tells him whether there really is a way from the place
his customer has build his giant steel crane to the place where it is needed on which all
streets can carry the weight.
Fortunately he already has a plan of the city with all streets and bridges and all the allowed
weights.Unfortunately he has no idea how to find the the maximum weight capacity in order
to tell his customer how heavy the crane may become. But you surely know.
Problem
You are given the plan of the city, described by the streets (with weight limits) between the
crossings, which are numbered from 1 to n. Your task is to find the maximum weight that can
be transported from crossing 1 (Hugo’s place) to crossing n (the customer’s place). You may
assume that there is at least one path. All streets can be travelled in both directions.
Input
The first line contains the number of scenarios (city plans). For each city the number n of
street crossings (1 <= n <= 1000) and number m of streets are given on the first line. The
following m lines contain triples of integers specifying start and end crossing of the street and
the maximum allowed weight, which is positive and not larger than 1000000. There will be at
most one street between each pair of crossings.
Output
The output for every scenario begins with a line containing “Scenario #i:”, where i is the
number of the scenario starting at 1. Then print a single line containing the maximum allowed
weight that Hugo can transport to the customer. Terminate the output for the scenario with a
blank line.
Sample Input
1
3 3
1 2 3
1 3 4
2 3 5
Sample Output
Scenario #1:
4
//注意题上最后让输出2个换行
//#include<map>
#include<queue>
#include<stack>
#include<vector>
#include<math.h>
#include<cstdio>
#include<sstream>
#include<numeric>//STL数值算法头文件
#include<stdlib.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<functional>//模板类头文件
using namespace std;
const int INF=1e9+7;
const int maxn=1100;
typedef long long ll;
int t,n,m;
int vis[maxn];
int par[maxn];
int tu[maxn][maxn];
int dijkstra()
{
int i,j,k;
memset(vis,0,sizeof(vis));
for(i=1; i<=n; i++)
par[i]=tu[1][i];
for(i=1; i<=n; i++)
{
int minn=-1;
for(j=1; j<=n; j++)
{
if(!vis[j]&&minn<par[j])
{
k=j;
minn=par[j];
}
}
vis[k]=1;
for(j=1; j<=n; j++)
{
par[j]=max(par[j],min(tu[k][j],par[k]));
// if(!vis[j]&&par[j]<min(tu[k][j],par[k]))
// {
// par[j]=min(tu[k][j],par[k]);
// }
}
}
return par[n];
}
int main()
{
int cot=1;
scanf("%d",&t);
while(t--)
{
int i,j,a,b,c;
scanf("%d %d",&n,&m);
memset(tu,0,sizeof(tu));
while(m--)
{
scanf("%d %d %d",&a,&b,&c);
tu[a][b]=tu[b][a]=c;
}
printf("Scenario #%d:\n",cot++);
printf("%d\n\n",dijkstra());
}
return 0;
}
Heavy Transportation(POJ - 1797 变形版 dijkstra)的更多相关文章
- Heavy Transportation POJ 1797 最短路变形
Heavy Transportation POJ 1797 最短路变形 题意 原题链接 题意大体就是说在一个地图上,有n个城市,编号从1 2 3 ... n,m条路,每条路都有相应的承重能力,然后让你 ...
- POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)
题目:click here 题意: 有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量.分析: 其实这个求最大边可以 ...
- Heavy Transportation POJ - 1797
题意 给你n个点,1为起点,n为终点,要求所有1到n所有路径中每条路径上最小值的最最值. 思路 不想打最短路 跑一边最大生成树,再扫一遍1到n的路径,取最小值即可,类似Frogger POJ - 22 ...
- kuangbin专题专题四 Heavy Transportation POJ - 1797
题目链接:https://vjudge.net/problem/POJ-1797 思路:请参考我列出的另一个题目,和这个题目要求的值相反,另一个清楚后,这个写的解释就明白了. 另一个类似题目的博客:h ...
- POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】
Heavy Transportation Time Limit:3000MS Memory Limit:30000KB 64bit IO Format:%I64d & %I64 ...
- POJ1797 Heavy Transportation —— 最短路变形
题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS Memory Limit: 30000K T ...
- poj 1797 Heavy Transportation(Dijkstar变形)
http://poj.org/problem?id=1797 给定n个点,及m条边的最大负载,求顶点1到顶点n的最大载重量. 用Dijkstra算法解之,只是需要把“最短路”的定义稍微改变一下, A到 ...
- POJ1797 Heavy Transportation (堆优化的Dijkstra变形)
Background Hugo Heavy is happy. After the breakdown of the Cargolifter project he can now expand bus ...
- POJ.1797 Heavy Transportation (Dijkstra变形)
POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...
随机推荐
- Ant复制文件
<?xml version="1.0" encoding="UTF-8"?> <project name ="test" ...
- 【NOIP】提高组2015 子串
[题意]求从字符串A中取出k个互不重叠的非空子串顺序拼接形成B的方案数.n<=1000,m<=100,k<=m. [算法]动态规划 [题解]这题主要是将从i-l转移变成从i-1转移, ...
- idea如何搭建springmvc4
1.推荐大牛博客 此操作我操作了三次过后终于成功了,奉献大牛博客连接:做的非常详细到位,望各位采纳,推荐置顶. https://www.cnblogs.com/chenlinghong/p/83395 ...
- 设计模式之Prototype
设计模式总共有23种模式这仅仅是为了一个目的:解耦+解耦+解耦...(高内聚低耦合满足开闭原则) 介绍: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 为什么要用Prototype ...
- Python模块学习 - ConfigParser
配置文件 很多软件都用到了配置文件,像git运行的时候会读取~/gitconfig,MySQL运行的时候会读取/etc/my.cnf,Python 提供的包管理工具pip命令,也会去读取~/.pip/ ...
- python自动开发之第二十五天
一.组合搜索 参考: http://www.cnblogs.com/ccorz/p/5985205.html 二.JSONP 1.在同源策略下,在某个服务器下的页面是无法获取到该服务器以外的数据的,但 ...
- linux系统下git使用
转载:http://www.cnblogs.com/bear2flymoon/p/4335364.html?ADUIN=563508762&ADSESSION=1430887070&A ...
- socket 编程 TCP 实现简单聊天功能【转】
转自:http://blog.csdn.net/liujia2100/article/details/9006479 版权声明:本文为博主原创文章,未经博主允许不得转载. 各个主要函数的功能: .so ...
- xxx_initcall相关知识
参考文件include/linux/init.h /* * Early initcalls run before initializing SMP. * * Only for built-in cod ...
- centos 挂在ntfs
Installing build-essentials in CentOS (make, gcc, gdb):http://www.techblogistech.com/2012/03/install ...