zoukankan      html  css  js  c++  java
  • nyoj 1248 海岛争霸

    海岛争霸

    时间限制: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

    #include <stdio.h>
    #include<string.h>
    #include<algorithm>
    using namespace std;
    #define INF 0x3fffffff
    #define maxn 105
    int edge[maxn][maxn];
    int A[maxn][maxn],path[maxn][maxn];
    int n,m;
    void floyd()
    {
    	int i,j,k;	
    	for(k=1;k<=n;k++)
    		for(i=1;i<=n;i++)
    			for(j=1;j<=n;j++)
    			{
    				if(edge[i][k]!=INF&&edge[k][j]!=INF)
    				{
    					int big=max(edge[i][k],edge[k][j]);
    					edge[i][j]=min(edge[i][j],big);
    				}
    			}
    }
    int main()
    {
    	
    	int u,v,w;
    	int Q;
    	while(scanf("%d%d",&n,&m)!=EOF)
    	{
    		for(int i=1;i<=n;i++)
    			for(int j=1;j<=n;j++)
    				edge[i][j]=INF;
    		for(int i=1;i<=n;i++)
    			edge[i][i]=0;
    		for(int i=1;i<=m;i++)
    		{
    			scanf("%d%d%d",&u,&v,&w);
    			edge[u][v]=edge[v][u]=min(edge[u][v],w);
    		}
    		floyd();
    		int shortest[maxn];
    		scanf("%d",&Q);
    		for(int i=1;i<=Q;i++)
    		{
    			scanf("%d%d",&u,&v);
    			if(edge[u][v]==INF)
    				printf("-1
    ");
    			else 	printf("%d
    ",edge[u][v]);
    		}
    	}
    	return 0;
    }        
    

      

  • 相关阅读:
    GPU 加速NLP任务(Theano+CUDA)
    SOJ 1717 Computer (单机任务调度)
    CNN for NLP (CS224D)
    数据分析:中国高校更名历史 Python
    TextRank 自动文摘
    深度学习笔记(十一)网络 Inception, Xception, MobileNet, ShuffeNet, ResNeXt, SqueezeNet, EfficientNet, MixConv
    深度学习笔记(七)SSD 论文阅读笔记简化
    在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib 及一些问题
    win10 + gtx1060 + cuda8.0 + caffe + vs2013 + Tensorflow + PyTorch
    深度学习笔记(二十五)DenseBox & FCOS & PolarMask
  • 原文地址:https://www.cnblogs.com/zhangliu/p/7057721.html
Copyright © 2011-2022 走看看