海岛争霸

时间限制:1000 ms  |  内存限制:65535 KB
难度:3

描述
神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等。加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王。 这是一个由海洋、岛屿和海盗组成的危险世界。杰克船长准备从自己所占领的岛屿A开始征程,逐个去占领每一个岛屿。面对危险重重的海洋与诡谲的对手,如何凭借智慧与运气,建立起一个强大的海盗帝国。
杰克船长手头有一张整个海域的海图,上面详细地记录了各个海屿的位置,以及海屿之间的通航路线。但他发现,有的航海路线太危险了,杰克船长的战船很难直接通过,他必须想方设法绕道航行;还有的岛屿根本到达不了。
杰克船长现在想把航行的危险程度降到最小。具体地来说,就是杰克船长提出若干个询问,他想知道从岛屿A 到岛屿B 有没有行驶航线,若有的话,所经过的航线,危险程度最小可能是多少。
输入
第1行: N M 表示有N个岛屿,M条直航路线
第2~M+1行: A B V 表示从岛屿A到岛屿B的航海路线的危险程度值为V。
接下面一行 : Q 表示询问的次数。
之后有Q个行: A B 表示询问从岛屿A 到岛屿B 所经过的航线,危险程度最小值
1<N≤100 0<M≤500 1≤ Q≤20 0 < V≤1000,
所有数据都是正整数。输入数据之间有一个空格。
输出
对于每个询问,输出占一行,一个整数,表示从岛屿A 到岛屿B 所经过的航线,危险程度最小值;若从岛屿A 无法到达岛屿B,则输出-1。
样例输入
10 8
1 2 5
1 3 2
2 3 11
2 4 6
2 4 4
6 7 10
6 10 5
10 7 2
5
2 3
1 4
3 7
6 7
8 3
样例输出
5
5
-1
5
-1
来源
第七届河南省程序设计大赛

解题思路:

一看题意就是最短路类型的题,我用的是dijstra不过这个题目不同与以往,要求的是可到达的路径上的所有危险系数的最大值的最小值

例如从2-3

有两条路:(1)2-3  危险系数是11

(2)2-1-3危险系数为2-1 是5,1-3是2所有此路的危险系数就是5(注意),知道这个题目就很好做啦!

我的代码:

#include<bits/stdc++.h>
using namespace std;
#define inf 0x3f3f3f3f
int n,m,t;
int a[105][505];
int vis[105],dis[105];
void  dijstra(int x,int y)
{int i,j,k=inf,minn=inf;for(i=1; i<=n; i++){dis[i]=a[x][i];vis[i]=0;}vis[i]=1;for(i=0; i<n; i++){minn=inf;for(j=1; j<=n; j++){if(vis[j]==0&&dis[j]<minn){minn=dis[j];k=j;}}if(k!=inf){vis[k]=1;for(j=1; j<=n; j++){if(vis[j]==0){if(dis[j]>max(dis[k],a[k][j]))//取一条路上的安全系数的最大值dis[j]=max(dis[k],a[k][j]);}}}}if(dis[y]==inf)cout<<-1<<endl;elsecout<<dis[y]<<endl;
}
int main()
{while(scanf("%d%d",&n,&m)!=EOF){memset(a,inf,sizeof(a));int x,y,z;for(int i=0; i<m; i++){scanf("%d%d%d",&x,&y,&z);if(a[x][y]>z)a[x][y]=a[y][x]=z;}scanf("%d",&t);while(t--){int A,B;scanf("%d%d",&A,&B);dijstra(A,B);}}
}

转载于:https://www.cnblogs.com/xunalove/p/6809134.html

A题 海岛争霸相关推荐

  1. NYOJ 1248 海岛争霸 河南省赛真题 Floyd 或者 并查集

    海岛争霸 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自 ...

  2. NYOJ_1248_海岛争霸【最短路】

    /* 海岛争霸 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述     神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长 ...

  3. nyoj 海岛争霸(Floyd最短路径)

    海岛争霸 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自 ...

  4. NYOJ 1248 海岛争霸 (利用最短路径可解)

    海岛争霸 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自 ...

  5. 第七届河南省程序设计大赛——A 海岛争霸

    第七届河南省程序设计大赛 A 海岛争霸 内存限制:64MB 时间限制:1s Special Judge: No 题目描述: 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海 ...

  6. nyoj 1248 海岛争霸

    海岛争霸 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的 ...

  7. 1248 NYOJ 海岛争霸

    海岛争霸 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的 ...

  8. 第七届省赛-海岛争霸(最短路Floyd)

    海岛争霸 题目描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗你知道吧,杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王. 这是一个由海洋. ...

  9. 8.22 问题 B: 海岛争霸

    问题 B: 海岛争霸 题目描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比海盗,你知道吧?杰克船长驾驶着自己的的战船黑珍珠1号要征服各个海岛的海盜,最后成为海盗王.   ...

最新文章

  1. 大型银行数据中心用户安全管理
  2. MOSS 2010:Visual Studio 2010开发体验(26)——工作流开发概述
  3. 设A和B是两个按元素值递增有序的单链表,写一算法将A和B归并为按按元素值递减有序的单链表C,试分析算法的时间复杂度。(利用上篇带有头结点的线性链表操作)...
  4. 数据结构——队列(C语言实现)
  5. ArcEngine的拓扑分析之ITopologicalOperator
  6. 2017 Vue.js 2快速入门指南
  7. hibernate中many-to-one实例一
  8. SAP Cloud for Customer的Opportunity搜索前台实现原理
  9. 2020年国家电网计算机类考纲,终于发布!详解2020届国家电网考试大纲,带你读懂考纲变化!...
  10. 1.0jpa 2.0_JPA 2.1:不同步的持久性上下文
  11. tensorflow sigmoid 如何计算训练数据的正确率_“来自蒙娜丽莎的凝视”— 结合 TensorFlow.js 和深度学习实现...
  12. ghost还原固态硬盘_解决方法:SSD可以使用Ghost软件吗?最后说清楚了
  13. 华为手机服务器位置,华为手机怎么查看云服务器地址
  14. 全国行政区划代码(身份证前六位)
  15. Spider爬虫框架之Spiders模块
  16. 词向量与词向量拼接_如何拥抱 embedding ?从词向量到句向量的技术详解-阿里云开发者社区...
  17. Linux 安装qq农场小游戏
  18. EPW的输入文件浅析
  19. [点点搬家]与Perl厮混后感觉嘚儿嘚儿的
  20. 银行春招:六大行薪资待遇知多少?(下)

热门文章

  1. github如何pull_request
  2. linux的自动挂载
  3. 达梦数据库-SQL优化之HINT-平坦化处理
  4. 66岁比尔盖茨离婚!西雅图并不相信爱情~
  5. 华为云fusionsphere 6.1组件功能
  6. Exercise 1.9
  7. html5 视口,HTML5样板:元视口和宽度=设备宽度(HTML5 Boilerplate: Meta viewpo
  8. linux编译运行uart,Kindle4: 编译并运行upstream linux kernel – v4.4
  9. 多机局域网办公神器 rustdesk 使用强推!!!
  10. python往现有列表中插入其他列表中的元素