zoukankan      html  css  js  c++  java
  • BZOJ 1624 [Usaco2008 Open] Clear And Present Danger 寻宝之路:floyd

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1624

    题意:

      农夫约翰正驾驶一条小艇在牛勒比海上航行。

      海上有N(1≤N≤100)个岛屿,用1到N编号。

      约翰从1号小岛出发,最后到达N号小岛。

      一张藏宝图上说,如果他的路程上经过的小岛依次出现了Ai,A2,…,AM(2≤M≤10000)这样的序列(不一定相邻),那他最终就能找到古老的宝藏。

      但是,由于牛勒比海有海盗出没.约翰知道任意两个岛屿之间的航线上海盗出没的概率,他用一个危险指数Dij(0≤Dij≤100000)来描述。

      他希望他的寻宝活动经过的航线危险指数之和最小。

      那么,在找到宝藏的前提下,这个最小的危险指数是多少呢?

    题解:

      floyd.

      然后求从1到a[1]、a[1]到a[2]...a[m]到n的dis之和。

    AC Code:

     1 #include <iostream>
     2 #include <stdio.h>
     3 #include <string.h>
     4 #define MAX_N 105
     5 #define MAX_M 10005
     6 
     7 using namespace std;
     8 
     9 int n,m;
    10 int ans=0;
    11 int a[MAX_M];
    12 int dis[MAX_N][MAX_N];
    13 
    14 void read()
    15 {
    16     cin>>n>>m;
    17     a[0]=1;
    18     a[m+1]=n;
    19     for(int i=1;i<=m;i++)
    20     {
    21         cin>>a[i];
    22     }
    23     for(int i=1;i<=n;i++)
    24     {
    25         for(int j=1;j<=n;j++)
    26         {
    27             cin>>dis[i][j];
    28         }
    29     }
    30 }
    31 
    32 void floyd()
    33 {
    34     for(int k=1;k<=n;k++)
    35     {
    36         for(int i=1;i<=n;i++)
    37         {
    38             for(int j=1;j<=n;j++)
    39             {
    40                 if(i!=j && j!=k && i!=k)
    41                 {
    42                     dis[i][j]=min(dis[i][j],dis[i][k]+dis[k][j]);
    43                 }
    44             }
    45         }
    46     }
    47 }
    48 
    49 void solve()
    50 {
    51     floyd();
    52     for(int i=0;i<=m;i++)
    53     {
    54         ans+=dis[a[i]][a[i+1]];
    55     }
    56 }
    57 
    58 void print()
    59 {
    60     cout<<ans<<endl;
    61 }
    62 
    63 int main()
    64 {
    65     read();
    66     solve();
    67     print();
    68 }
  • 相关阅读:
    jQuery火箭图标返回顶部代码
    jQuery火箭图标返回顶部代码
    cookie相关内容:用法,特点,常用功能以及与session的异同
    JSP (一)
    Node.js npm 环境配置
    新老版本vue-cli的安装及创建项目等方式的比较
    npm 代理设置及更换为国内下载源
    for...of的使用
    打印机使用方法
    给OC项目添加icon
  • 原文地址:https://www.cnblogs.com/Leohh/p/7613187.html
Copyright © 2011-2022 走看看