UVA 423
来源:互联网 发布:假面骑士空我 知乎 编辑:程序博客网 时间:2024/06/06 20:20
题目大意:输出n,表示有n个点,完整的图为一个矩阵,相当于二维数组a[n][n]的样子,a[i][j]就是i点到j点的距离。其中只给出了下三角,x表示亮点直接不连通。输出用最短方式从1走到其他点,其中最远的距离。
解题思路:dijkstra,最基本的单源点问题。
ac代码:
#include <iostream>#include <cstring>#define inf 100005using namespace std;int n, dis[105], w[105][105], t1, t2, vis[105], Max;char a[105];int main(){while (scanf("%d", &n)!=EOF){memset(vis, 0, sizeof(vis));for (int i=1; i<=n; i++)w[i][i] = 0, dis[i] = inf;for (int i=2; i<=n; i++){for (int j=1; j<i; j++){scanf("%s", a);if (a[0] == 'x')w[i][j] = w[j][i] = inf;else{sscanf(a, "%d", &w[i][j]);w[j][i] = w[i][j];}}}for (int i=2; i<=n; i++)dis[i] = w[1][i];vis[1] = 1;for (int i=0; i<n; i++){t1 = inf;for (int j=2; j<=n; j++)if (dis[j] < t1 && !vis[j])t1 = dis[j], t2 = j;vis[t2] = 1;for (int j=2; j<=n; j++)dis[j] = min(dis[j], t1+w[j][t2]);}Max = dis[2];for (int i=3; i<=n; i++)Max = max(Max, dis[i]);printf("%d\n", Max);}return 0;}
阅读全文
0 0
- UVA 423
- Uva 423 - MPI Maelstrom
- UVa 423 - MPI Maelstrom
- uva
- UVA
- UVA
- UVA
- uva
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- UVA
- 高质量C++编程(一)防止头文件重复引用
- #基础# 信息收集—域名信息查询
- Android里的小问题和小技巧
- php中常用的字符串截取函数mb_substr实例解释
- Hello World !
- UVA 423
- mysql基本查询
- ESP8266调试-P2P(AP模块与STA模块通信)
- JVM——自定义类加载器
- Eclipse新建maven工程出错:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstar
- 内存屏障(还得补)
- dwr+maven实现java和js方法互相调用,实现推送, 完整切超简单例子
- 两种文件修改的方式
- Android自定义View之属性