UVA 10099 最大的最小边。。
2011-04-19 23:11
267 查看
题目连接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=12&problem=1040&mosmsg=Submission+received+with+ID+8760564
这个题很YD,之前一直不知道导游还要占一个容量,所以连样例都搞不懂。。悲催。。
解法是利用floyd算法,最后求出那条边之后再做一下出发就OK了
我的代码:
这个题很YD,之前一直不知道导游还要占一个容量,所以连样例都搞不懂。。悲催。。
解法是利用floyd算法,最后求出那条边之后再做一下出发就OK了
我的代码:
#include<stdio.h> #include<algorithm> #include<string.h> using namespace std; int n,m; int dis[105][105]; int max(int a,int b) { if(a>b) return a; else return b; } int min(int a,int b) { if(a>b) return b; else return a; } int main() { int i,j,a,b,c,k,t=1; int start,end,people; while(scanf("%d%d",&n,&m)!=EOF) { if(n==0&&m==0) break; memset(dis,0,sizeof(dis)); for(i=1;i<=m;i++) { scanf("%d%d%d",&a,&b,&c); dis[a][b]=c; dis[b][a]=c; } scanf("%d%d%d",&start,&end,&people); for(k=1;k<=n;k++) for(i=1;i<=n;i++) for(j=1;j<=n;j++) dis[i][j]=max(dis[i][j],min(dis[i][k],dis[k][j])); int temp=dis[start][end]; printf("Scenario #%d/n",t++); if(people%(temp-1)) printf("Minimum Number of Trips = %d/n",people/(temp-1)+1); else printf("Minimum Number of Trips = %d/n",people/(temp-1)); printf("/n"); } return 0; }
相关文章推荐
- uva 10099 - The Tourist Guide(最大生成树, 最小边最大)
- UVa 10099 The Tourist Guide (最大生成树+最小边的最大化+Kruskal)
- uva11419 【最大二分匹配求最小点覆盖 匈牙利算法】
- UVA 10480 - Sabotage (最小割 /最大流)
- UVA 10480 Sabotage (最大流最小割)
- uva 11419(二分图最大匹配--最小点覆盖)
- UVa 1660 电视网络(点连通度+最小割最大流+Dinic)
- uva 1619 单调 求一段序列和 和 其中最小值的乘积的最大值
- uva 10099(最大生成树+搜索)
- uva 1201 最小路径覆盖 最大匹配
- UVa 10099 - The Tourist Guide(Floyd, 最大生成树)
- UVA 11248 Frequency Hopping(最大流、最小割)
- 最小费最大流,最小权最大匹配,拆点法(最优巴士路线设计 uva 1349)
- [二分图最大匹配=最小覆盖点]uva12549 Sentry Robots
- uva 11798 相对运动的最小最大距离
- UVA 10480 Sabotage (最大流最小割输出路劲)
- UVa live6492Welcome Party(二分最大匹配之最小点覆盖)
- UVa 11248 - Frequency Hopping - 最大流 - 最小割
- 【网络流~最大流】uva1660 最小点割
- Taxi Cab Scheme UVALive - 3126 最小路径覆盖解法(必须是DAG,有向无环图) = 结点数-最大匹配