UVaOJ 10048 - Audiophobia
来源:互联网 发布:苹果mac玩天涯明月刀 编辑:程序博客网 时间:2024/06/06 20:29
——by A Code Rabbit
Description
给你一张图。
求图上任意两点间,经过的路径中最大值最小的路径。
输入以边的方式表达的图。
输出所求路径上的最大值。
Types
Graph Algorithms
Analysis
询问任意两点间的最优路径,可以想到Floyd。
只要修改Floyd选边的策略就可以了。
// UVaOJ 10048// Audiophobia// by A Code Rabbit#include <algorithm>#include <cstdio>using namespace std;const int MAXV = 102;const int INF = 1e9;template <typename T>struct Graph { T mat[MAXV][MAXV]; void Init(int n) { for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { mat[i][j] = i == j ? 0 : INF; } } } void AddEdge(int u, int v, T w) { mat[u][v] = w; }};namespace Floyd { template <typename T> void Go(T w[MAXV][MAXV], int n) { for (int k = 0; k < n; k++) for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (max(w[i][k], w[k][j]) < w[i][j]) w[i][j] = max(w[i][k], w[k][j]); }}int c, s, q;int c1, c2, d;Graph<int> graph;int main() { int tot_case = 0; while (scanf("%d%d%d", &c, &s, &q) && (c || s || q)) { // Input. graph.Init(c); for (int i = 0; i < s; i++) { scanf("%d%d%d", &c1, &c2, &d); graph.AddEdge(c1 - 1, c2 - 1, d); graph.AddEdge(c2 - 1, c1 - 1, d); } // Solve. Floyd::Go(graph.mat, c); // Output. printf("%s", tot_case ? "\n" : ""); printf("Case #%d\n", ++tot_case); for (int i = 0; i < q; i++) { scanf("%d%d", &c1, &c2); if (graph.mat[c1 - 1][c2 - 1] != INF) printf("%d\n", graph.mat[c1 - 1][c2 - 1]); else printf("no path\n"); } } return 0;}
- UVaOJ 10048 - Audiophobia
- UVaOJ 10048 Audiophobia(最小化最短路的最大权值边)
- 10048 - Audiophobia
- 10048 - Audiophobia
- UVA 10048 - Audiophobia
- uva 10048 - Audiophobia
- 10048Audiophobia--好题
- UVA 10048 - Audiophobia
- UVa 10048 - Audiophobia
- Uva 10048 - Audiophobia
- 10048 - Audiophobia\\Floyd
- UVa 10048: Audiophobia
- Uva - 10048 - Audiophobia(Floyd)
- UVa:10048 Audiophobia
- UVA - 10048 Audiophobia
- UVA 10048 - Audiophobia(floyd)
- 10048 - Audiophobia (floyd变形)
- UVa 10048 - Audiophobia
- 关于SAP BW LO Extraction - Global Setting
- Android关闭JIT的方法
- FreeMarker + xml 导出word
- 经典SQL语句大全- 提升篇
- Source Insight阅读linux内核源代码——根据其他文章修改
- UVaOJ 10048 - Audiophobia
- android2.2 jit是什么,有啥用
- oracle--如何干预执行计划(使用hints提示)
- T-Sql 递归查询(给定节点查所有父节点、所有子节点的方法)
- linux下vim命令详解
- Android 使用ORMLite 操作数据库
- Android sysout.exit(0) 和finish()区别
- SQL执行计划分析
- Hera系统开发框架的选择