Heavy Transportation
Time Limit: 3000MS   Memory Limit: 30000K
Total Submissions: 26968   Accepted: 7232

Description

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
题目大意,有n个城m条边,每个边有个最大的通过量,求1城市到n城市的一条最大通路容量是多少
迪杰斯特拉算法的变形,松弛条件改为道路容量为道路上容量最小的边,然后在选容量最大的路
ac代码如下:
 #include<iostream>
#include<algorithm>
#include<cstring>
#include<memory.h>
using namespace std;
long map[][];
long dp[],n;
bool v[];
void dij(int ii){
for(int i=;i<=n;i++){
dp[i]=map[ii][i];
}
dp[ii]=;v[ii]=;
int T=n;
while(T--){
int k=-,s;
for(int i=;i<=n;i++){//找下一条边
if(dp[i]>k&&!v[i]){
k=dp[i];
s=i;
}
}
v[s]=;
if(s==n)return;
for(int i=;i<=n;i++){//利用下一条边进行松弛
if(!v[i]&&dp[i]<min(dp[s],map[s][i])){
dp[i]=min(dp[s],map[s][i]);
}
}
}
}
int main(){
long T,m,s,e,c,ca=;
cin>>T;
while(T--){
cin>>n>>m;
memset(v,,sizeof(v));
memset(dp,,sizeof(dp));
memset(map,,sizeof(map));
for(int i=;i<=m;i++){
cin>>s>>e>>c;
map[s][e]=map[e][s]=max(map[s][e],c);
}
dij();
cout<<"Scenario #"<<ca++<<":"<<endl;
cout<<dp[n]<<endl<<endl;
}
return ;
}

提交结果:

poj 1797 Heavy Transportation(最短路径Dijkdtra)的更多相关文章

  1. POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径)

    POJ 1797 Heavy Transportation / SCU 1819 Heavy Transportation (图论,最短路径) Description Background Hugo ...

  2. poj 1797 Heavy Transportation(最大生成树)

    poj 1797 Heavy Transportation Description Background Hugo Heavy is happy. After the breakdown of the ...

  3. POJ.1797 Heavy Transportation (Dijkstra变形)

    POJ.1797 Heavy Transportation (Dijkstra变形) 题意分析 给出n个点,m条边的城市网络,其中 x y d 代表由x到y(或由y到x)的公路所能承受的最大重量为d, ...

  4. POJ 1797 Heavy Transportation

    题目链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  5. POJ 1797 Heavy Transportation SPFA变形

    原题链接:http://poj.org/problem?id=1797 Heavy Transportation Time Limit: 3000MS   Memory Limit: 30000K T ...

  6. POJ 1797 Heavy Transportation (Dijkstra变形)

    F - Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & ...

  7. POJ 1797 ——Heavy Transportation——————【最短路、Dijkstra、最短边最大化】

    Heavy Transportation Time Limit:3000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64 ...

  8. POJ 1797 Heavy Transportation (最大生成树)

    题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...

  9. POJ 1797 Heavy Transportation (Dijkstra)

    题目链接:POJ 1797 Description Background Hugo Heavy is happy. After the breakdown of the Cargolifter pro ...

随机推荐

  1. 【Linux日志】系统日志及分析

    Linux系统拥有非常灵活和强大的日志功能,可以保存几乎所有的操作记录,并可以从中检索出我们需要的信息. 大部分Linux发行版默认的日志守护进程为 syslog,位于 /etc/syslog 或 / ...

  2. CSS3_边框属性之圆角

    一.border-radius是向元素添加圆角边框: border-radius的值不仅能用px单位,你还可以用百分比或者em,但兼容性目前还不太好.(都不能是负值) 1.border-radius ...

  3. OpenGL的glViewport视口变换函数详解[转]

    调用glViewPort函数来决定视见区域,告诉OpenGL应把渲染之后的图形绘制在窗体的哪个部位.当视见区域是整个窗体时,OpenGL将把渲染结果绘制到整个窗口. void glViewPort(G ...

  4. [转]Oracle中INITRANS和MAXTRANS参数

    每个块都有一个块首部.这个块首部中有一个事务表.事务表中会建立一些条目来描述哪些事务将块上的哪些行/元素锁定.这个事务表的初始大小由对象的INITRANS 设置指定.对于表,这个值默认为2(索引的IN ...

  5. Mybatis调用Mysql存储过程

    在我的后台系统中,今天需要使用到存储过程.存储过程还真没写过,今天就写了个存储过程.使用在后台中. 其实这个接口功能  是涉及几张表的修改,删除,新增的.就写个一个存储过程. 存储过程: ), ),) ...

  6. DRUPAL点滴

    1 admin/config/user-interface/xxx在hook_menu里定义这样一个path,就会在configuration界面看到xxx的链接 2 $news_items = db ...

  7. SAP MM移动平均价和标准价逻辑

    从收货到领用,S一直都是以标准价格计算,V是实时更新 S 时将差异结转到在产品,产品中,最后结转到生产成本,最终到利润.具有计划性,可以控制考核 V 是实时更新,出现差异直接对应材料中调整.价格可以直 ...

  8. 中医与DBA

    很多药方,只要吃不死,总有一款适合你.哈哈.我要做西医,先检查身体,再了解每种药的作用,做到对症下药.

  9. 关于as中的事件与回调函数

    对于Observer模式, 在as中object(被观察者)既可以用事件(event),也可以用回调函数(caller)来通知观察者(observer).那在实际的开发中到底应该选择用event还是用 ...

  10. 悟透javascript读书笔记

    1.undefined,null,0,""  这四个值转换为逻辑值时是false,其他无论简单类型值,对象或者函数转换过来都是true 2.如图 第一个是“声明了一个变量,给变量赋 ...