poj2263 Heavy Cargo --- floyd求最大容量路
2014-06-26 21:33
260 查看
求给定起点到终点的路径中,最小边权的最大值
#include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cmath> #include <algorithm> #include <vector> #include <queue> #include <map> #define inf 0x3f3f3f3f #define ll __int64 #define mod 1000000007 using namespace std; char s1[35],s2[25],city[210][35]; int mp[210][210],n,r; void floyd() { for(int k=1;k<=n;k++) for(int i=1;i<=n;i++) for(int j=1;j<=n;j++) mp[i][j]=max(mp[i][j],min(mp[i][k],mp[k][j])); } int main() { int t,a,b,d,cnt,i,j; t=1; while(scanf("%d%d",&n,&r)&&(n||r)) { cnt=1; memset(mp,0,sizeof mp); for(i=1;i<=r;i++) { scanf("%s%s %d",s1,s2,&d); a=b=0; for(j=1;j<cnt;j++) { if(strcmp(s1,city[j])==0) a=j; if(strcmp(s2,city[j])==0) b=j; } if(!a) { strcpy(city[cnt],s1); a=cnt; cnt++; } if(!b) { strcpy(city[cnt],s2); b=cnt; cnt++; } mp[a][b]=mp[b][a]=d; } scanf("%s%s",s1,s2); floyd(); for(j=1;j<=n;j++) { if(strcmp(s1,city[j])==0) a=j; if(strcmp(s2,city[j])==0) b=j; } printf("Scenario #%d\n%d tons\n\n",t++,mp[a][b]); } return 0; }
相关文章推荐
- hdu 2263 Heavy Cargo Floyd(求最大容量)
- POJ2263 Heavy Cargo用最短路得到最大流
- SQL Server對象的最大容量限制
- [Leetcode] Container With Most Water 能装最大水的容量
- .net中HashTable的最大容量
- hdu 2485 Destroying the bus stations【最大流Dinic+最短路floyd】好题
- [导入]搜狗2.5版发布 20亿容量将成最大中文引擎数据库
- poj 2396 Budget 边容量有上下界的最大流
- .net中HashTable的最大容量
- POJ 2253 floyd求最大边的最小值
- UVA10048 - Audiophobia(Floyd,最大值的最小化)
- SQL Server 的最大容量规范
- linux 系统管理中的查看内存插槽数最大容量和频率
- block大小和分区最大容量单个文件最大容量的关系
- java中数组的最大长度以及List的最大容量
- LINUX操作系统对硬件支持有上限么?最大多少内存?多大硬盘容量?
- 各浏览器的cookie的name个数/最大容量限制测试
- Access 的最大容量
- Access 的最大容量
- ZOJ1592 POJ2263 Heavy Cargo,Dijkstra算法