UVA - 10099 The Tourist Guide kruskal算法
来源:互联网 发布:手机游戏充值端口代理 编辑:程序博客网 时间:2024/05/22 10:57
题目大意:导游要带人去旅游,需要乘坐公交车,公交车有人数限制,导游要把所有人都带到终点,问导游最少要带几趟才能将所有人带到终点
解题思路:和噪音的那题相似,要从起点带到终点的次数最少,起点到终点的最小值就要达到最大,小心一点的就是,每次带过去的人应该要减去1个导游
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;#define INF 0x3f3f3f3f#define maxn 105int N,R;int len[maxn][maxn];int main(){int mark = 1;while(scanf("%d%d",&N,&R) != EOF && N + R) {int t1,t2,l;for(int i = 1; i <= N; i++)for(int j = 1; j <= N; j++)if(i == j)len[i][j] = 0;elselen[i][j] = -1;for(int i = 0; i < R; i++) {scanf("%d%d%d",&t1,&t2,&l);len[t1][t2] = l;len[t2][t1] = l;}scanf("%d%d%d",&t1,&t2,&l);for(int k = 1; k <= N; k++)for(int i = 1; i <= N; i++)for(int j = 1; j <= N; j++)if(len[i][k] != -1 && len[k][j] != -1) {int temp = min(len[i][k],len[k][j]);if(len[i][j] == -1 || temp > len[i][j])len[i][j] = temp;}int ans;if(l % (len[t1][t2] - 1) == 0)ans = l / (len[t1][t2] - 1);elseans = l / (len[t1][t2] - 1) + 1;printf("Scenario #%d\n",mark++);printf("Minimum Number of Trips = %d\n\n",ans);}return 0;}
0 0
- UVA - 10099 The Tourist Guide kruskal算法
- uva 10099 The Tourist Guide
- UVa 10099 The Tourist Guide
- Uva 10099 - The Tourist Guide
- UVA 10099 - The Tourist Guide
- UVa:10099 The Tourist Guide
- UVA - 10099 The Tourist Guide
- UVa 10099 - The Tourist Guide
- UVA 10099 The Tourist Guide
- uva 10099 The Tourist Guide
- UVA 10099 - The Tourist Guide
- The Tourist Guide(uva)
- UVa 10099 The Tourist Guide (最大生成树+最小边的最大化+Kruskal)
- UVA 10099 - The Tourist Guide(floyd)
- The Tourist Guide - UVa 10099 Floyd
- uva 10099 - The Tourist Guide翻译
- UVA 10099The Tourist Guide【floyd】
- 10099 The Tourist Guide
- python抓取javascript动态生成HTML内容的实践
- 计算机专业术语总结
- 如何在11gR2 RAC上配置GoldenGate
- String的案例
- 【UNIX】认识iner-net网际网以及网络编程
- UVA - 10099 The Tourist Guide kruskal算法
- 限制文件下载时上传速度
- C语言
- 路由器和猫,集线器,交换机的区别
- BZOJ 3673 可持久化并查集 by zky && 3674 可持久化并查集加强版
- Win7系统日志上限设置与管理
- 杭电1811 Rank of Tetris(拓扑排序+并查集缩点)
- 五个常见开机不能完成自检的原因
- Windows c++ CTime与CString转换