题目链接:http://poj.org/problem?id=1797

思路:题目意思很简单,n个顶点,m条路,每条路上都有最大载重限制,问1->n最大载重量。其实就是一最短路的变形,定义weight[i]表示源点到顶点i的最大载重量,初始化为0,之后不断去更新就行了。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<vector>
 6 #include<queue>
 7 using namespace std;
 8 #define MAXN 1010
 9 #define inf 1<<30
10
11 struct Edge{
12     int v,w;
13     Edge(int vv,int ww):v(vv),w(ww){}
14 };
15 int weight[MAXN];//源点到各点的最大载重量
16 bool mark[MAXN];
17 int n,m;
18
19 vector<vector<Edge> >map;
20
21 int SPFA()
22 {
23     memset(mark,false,(n+2)*sizeof(bool));
24     for(int i=1;i<=n;i++)weight[i]=0;
25     weight[1]=inf;
26     queue<int>Q;
27     Q.push(1);
28     while(!Q.empty()){
29         int u=Q.front();
30         Q.pop();
31         mark[u]=false;
32         for(int i=0;i<map[u].size();i++){
33             int v=map[u][i].v,w=map[u][i].w;
34             int ww=min(weight[u],w);
35             if(ww>weight[v]){
36                 weight[v]=ww;
37                 if(!mark[v]){ mark[v]=true;Q.push(v); }
38             }
39         }
40     }
41     return weight[n];
42 }
43
44
45 int main()
46 {
47     int _case,u,v,w,t=1;
48     scanf("%d",&_case);
49     while(_case--){
50         scanf("%d%d",&n,&m);
51         map.clear();map.resize(n+2);
52         while(m--){
53             scanf("%d%d%d",&u,&v,&w);
54             map[u].push_back(Edge(v,w));
55             map[v].push_back(Edge(u,w));
56         }
57         printf("Scenario #%d:\n",t++);
58         printf("%d\n\n",SPFA());
59     }
60     return 0;
61 }
62
63
64         

View Code

poj 1797(最短路变形)相关推荐

  1. poj 2263 最短路变形——最小边的最大值

    文章目录 本题:最短路变形--最小边的最大值 最短路变形--最大边的最小值 本题:最短路变形--最小边的最大值 最短路变形--最大边的最小值 poj2253

  2. poj 2253 最短路变形——最大边的最小值

    文章目录 本题:最短路变形--最大边的最小值 最短路变形--最小边的最大值 本题:最短路变形--最大边的最小值 题意: 给出两只青蛙.以及其他石头的坐标,需要求出可以到达另一只青蛙的所有路径中,青蛙跳 ...

  3. C - Heavy Transportation POJ - 1797

    C - Heavy Transportation POJ - 1797 求从1~n的最大载货量 #include<iostream> #include<cstring> #in ...

  4. poj 1797 HeavyTransportation——最小边的最大值

    文章目录 本题:最短路变形--最大边的最小值 本题:最短路变形--最大边的最小值 题意: 已知所有的街道所允许的最大载重量,无向图. Input: 第一行包含场景数量(城市规划).每条城市的街道交叉口 ...

  5. POJ 3165 最短路 floyd

    POJ  3165  最短路 floyd http://poj.org/problem?id=3615 dp方程(f[i][j]>MAX(f[i][k],f[k][j])) f[i][j]=MA ...

  6. 【图论-最短路变形】想越狱的小杉

    [图论-最短路变形]想越狱的小杉 Time Limit:1000MS  Memory Limit:65536K Description 背景 Background 这次小杉来到了经典美剧<越狱& ...

  7. POJ 1797 Heavy Transportation 最短路变形(dijkstra算法)

    题目:click here 题意: 有n个城市,m条道路,在每条道路上有一个承载量,现在要求从1到n城市最大承载量,而最大承载量就是从城市1到城市n所有通路上的最大承载量. 分析: 其实这个求最大边可 ...

  8. poj 3013 Big Christmas Tree(最短路变形)

    传送门:POJ 3013 Big Christmas Tree 描述: Big Christmas Tree Time Limit: 3000MS   Memory Limit: 131072K To ...

  9. POJ - 3660 Cow Contest(最短路变形+闭包传递)

    题目链接:点击查看 题目大意:给定n头牛和m个关系,每个关系表示为两个整数a与b,其意义为a牛能打败b牛,问可以确定排名的牛的数量. 题目分析: 在这里先说一下关系闭包: 关系闭包有三种: 自反闭包( ...

最新文章

  1. Loadrunner日志设置与查看
  2. webpack的安装及使用webpack打包js、css文件
  3. Confluence 6 针对你的数据库类型确定校验 SQL
  4. 【华为云技术分享】云小课 | 磁盘容量不够用?小课教你来扩容!
  5. Spring Boot学习总结(15)——Spring Boot优缺点再总结
  6. base——JRE和JDK的区别【转】
  7. STM32之点亮LED
  8. python动态创建字典_如何在Python中创建动态命名字典?
  9. 解决:Maven resources compiler: Maven project configuration required for module ‘c,不识别Maven项目
  10. 剖析Disruptor:为什么会这么快?(三)揭秘内存屏障
  11. python内置函数可以返回列表、元组_Python内置函数_________可以返回列表、元组、字典、集合、字符串以及range对象中元素个数。...
  12. 电影《后悔无期》的经典段子
  13. mongodb 服务器性能监控,MongoDB监控
  14. 单道批处理系统,多道批处理系统,分时系统比较(概念,特点,优缺点)
  15. Android绘制波浪线
  16. JAVA文件搜索过程中如何得到各种文件内容(office文件,PDF,邮件,mht,思维导图等)
  17. 书法拓片matlab,拓墨书法作品(拓片)的具体操作方法和步骤?
  18. Devoxx 2012 –第2天
  19. java gmail 发送邮件_使用JavaMail对Gmail进行邮件收发
  20. 乐高无限最好玩的服务器联机打怪,乐高无限游戏玩法大全多种模式任你选择

热门文章

  1. mysql vim_MySQL的安装配置
  2. mysql分库分区分表怎么做_mysql 分区、分表、分库分表。
  3. 拼写检查工具是android,Android的文本和输入---拼写检查器(一)-Go语言中文社区...
  4. 教务处管理系统c语言编程,基于C语言的教务管理系统的设计
  5. 定时器:SetTimer
  6. WPF messagebox生命周期的探讨
  7. VS2010打开项目提示未能正确加载解决方案中一个或多个项目
  8. Java数据结构和算法(三)——冒泡、选择、插入排序算法
  9. Spring Boot【快速入门】
  10. 线程池,这一篇或许就够了