poj1797&poj2263 dijkstra()贪心解瓶颈路问题2
来源:互联网 发布:美辰堂燕窝是假货 知乎 编辑:程序博客网 时间:2024/05/19 09:15
poj1797
题意:输入样例个数t,给出城镇个数n,公路条数m,输入m条路线。路线格式:城镇1-城镇2-公路承载量;
解法:有了瓶颈路1的思路,这一题也同样可以解决,这个求的是 所有最小权值中的最大值。
通时也找了一道类似的题目,poj2263。
//poj1797
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int n,m,map[1005][1005],vis[1005],dis[1005];int main(){int t,ca=1;cin>>t;while(t--){int a,c,b;cin>>n>>m;memset(vis,0,sizeof(vis));for(int i=0;i<=n;++i){for(int j=0;j<=n;++j){map[i][j]=-2;}map[i][i]=0;}for(int i=0;i<m;++i){scanf("%d%d%d",&a,&b,&c);map[a][b]=map[b][a]=c;}for(int i=1;i<=n;++i){dis[i]=map[1][i];}vis[1]=1;int u,x=1;for(int i=0;i<n-1;++i){int mins=-1;for(int j=1;j<=n;++j){if(!vis[j]&&dis[j]>mins){u=j;mins=dis[j];}}vis[u]=1;for(int j=1;j<=n;++j){int tmp=min(dis[u],map[u][j]);if(dis[j]<tmp)dis[j]=tmp;}}printf("Scenario #%d:\n%d\n\n",ca++,dis[n]);} }
//poj2263
#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#include<string>using namespace std;int n,m,map[220][220],dis[220],vis[220];int dijkstra(int s,int d){memset(vis,0,sizeof(vis));for(int i=0;i<n;++i)dis[i]=map[s][i];vis[s]=1;int u;for(int i=0;i<n-1;++i){int mins=-1;for(int j=0;j<n;++j){if(!vis[j]&&dis[j]>mins){u=j;mins=dis[j];}}vis[u]=1;for(int j=0;j<n;++j){int tmp=min(dis[u],map[u][j]);if(dis[j]<tmp)dis[j]=tmp;}}return dis[d];}int main(){int ca=1;string a,b;int a1,b1,c;while(cin>>n>>m&&(n||m)){ for(int i=0;i<n;++i){for(int j=0;j<n;++j)map[i][j]=-2;}int k=0,i,j;string z[220];cin>>a>>b>>c;if(a==b)z[k++]=a;else{z[k++]=a;z[k++]=b;map[0][1]=map[1][0]=c;//cout<<z[0]<<" "<<z[1]<<endl;}for(i=1;i<m;++i){cin>>a>>b>>c;if(a==b)continue;for(j=0;j<k;++j)if(a==z[j]){a1=j;break;}if(j==k){ z[k++]=a; a1=j; }for(j=0;j<k;++j)if(b==z[j]){b1=j;break;}if(j==k){ z[k++]=b; b1=j; }map[a1][b1]=map[b1][a1]=c;}//for(int i=0;i<k;++i)//cout<<i<<' '<<z[i]<<endl;cin>>a>>b;for(i=0;i<k;++i){if(a==z[i])a1=i;if(b==z[i])b1=i;}printf("Scenario #%d\n%d tons\n\n",ca++,dijkstra(a1,b1));} }
0 0
- poj1797&poj2263 dijkstra()贪心解瓶颈路问题2
- poj2253 dijkstra()贪心解瓶颈路问题
- poj2263---dijkstra
- dijkstra--poj1797
- 【dijkstra】poj1797
- poj1797 dijkstra
- poj1797 dijkstra变形
- poj1797--Dijkstra变化
- POJ1797 Heavy Transportation 【Dijkstra】
- POJ1797 -- Dijkstra算法
- 最短路径(2)--poj1797(Dijkstra变形题)
- 【POJ1797】Heavy Transportation【dijkstra优化】
- poj1797 Heavy Transportation dijkstra变形
- ZOJ1592 POJ2263 Heavy Cargo,Dijkstra算法
- POJ1797 Heavy Transportation(Dijkstra改写)
- POJ1797 Heavy Transportation(dijkstra变形,spfa)
- 图论最短路dijkstra----poj1797模板题
- 贪心算法------单源最短路径问题(Dijkstra)
- linux查看java jdk安装路径和设置环境变量
- 【杭电】[1257]最少拦截系统
- Java获取当前路径
- qt写DLL文件并调用和出现的问题分析
- java poi技术操作excel之写Excel(向Excel中写入值)
- poj1797&poj2263 dijkstra()贪心解瓶颈路问题2
- strlen的坑
- 多文件上传中重名文件问题,日期转特殊字符串
- 连接你的APP至WiFi设备(Connecting your App to a Wi-Fi Device)
- Android ListView子item高度定长固定值无效问题
- Android开发之Android studio单元测试简介
- 类中的静态成员变量和静态成员函数
- 号段申请逻辑分析booknumbercontroller.java
- java中instanceof用法