zoukankan      html  css  js  c++  java
  • 1077 多源最短路

    1077 多源最短路

     

     时间限制: 1 s
     空间限制: 128000 KB
     题目等级 : 黄金 Gold
     
     
    题目描述 Description

    已知n个点(n<=100),给你n*n的方阵,a[i,j]表示从第i个点到第j个点的直接距离。        

    现在有Q个询问,每个询问两个正整数,a和b,让你求a到b之间的最短路程。        

    满足a[i,j]=a[j,i];

    输入描述 Input Description

     第一行一个正整数n,接下来n行每行n个正整数,满足a[i,i]=0,再一行一个Q,接下来Q行,每行两个正整数a和b。

    输出描述 Output Description

    一共Q行,每行一个整数。

    样例输入 Sample Input

    3

     0 1 1

    1 0 3

    1 3 0

    1

    2 3

    样例输出 Sample Output

    2

    数据范围及提示 Data Size & Hint

    n<=100,Q可能非常大。g[i][j]均>=0

    请使用flyod算法

    使用C/C++的同学请注意:由于输入数据较大,使用cin和cout会导致程序超时。请使用scanf与printf进行输入和输出。

     1 #include<iostream>
     2 #include<cstdio>
     3 #include<cstring>
     4 using namespace std;
     5 int map[1001][1001];
     6 int main()
     7 {
     8     memset(map,0x7f,sizeof(map));
     9     int n;
    10     scanf("%d",&n);
    11     for(int i=1;i<=n;i++)
    12     {
    13         for(int j=1;j<=n;j++)
    14         {
    15             int w;
    16             scanf("%d",&w);
    17             map[i][j]=w;
    18             map[j][i]=w;
    19         }
    20     }
    21     for(int k=1;k<=n;k++)
    22     {
    23         for(int i=1;i<=n;i++)
    24         {
    25             for(int j=1;j<=n;j++)
    26             {
    27                 if(map[i][j]>map[i][k]+map[k][j])
    28                 {
    29                     map[i][j]=map[i][k]+map[k][j];
    30                 }
    31             }
    32         }
    33     }
    34     int m;
    35     scanf("%d",&m);
    36     for(int i=1;i<=m;i++)
    37     {
    38         int a,b;
    39         scanf("%d%d",&a,&b);
    40         printf("%d
    ",map[a][b]);
    41     }
    42     return 0;
    43 }
  • 相关阅读:
    POJ 2175 Evacuation Plan 费用流 负圈定理
    POJ 2983 Is the Information Reliable? 差分约束
    codeforces 420B Online Meeting
    POJ 3181 Dollar Dayz DP
    POJ Ant Counting DP
    POJ 1742 Coins DP 01背包
    中国儒学史
    产品思维30讲
    Java多线程编程核心技术
    编写高质量代码:改善Java程序的151个建议
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6686467.html
Copyright © 2011-2022 走看看