zoukankan      html  css  js  c++  java
  • hdu 1548 A strange lift (dijkstra算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1548

    题目大意:升降电梯,先给出n层楼,然后给出起始的位置,即使输出从A楼道B楼的最短时间。

    注意的几点

    (1)每次按一下,只能表示上或者是下,然后根据输入的看是上几层或者是下几层。

    (2)注意不能到底不存在的楼层。

    详见代码。

     1 #include <iostream>
     2 #include <cstdio>
     3 using namespace std;
     4 const int INF=9999999;
     5 int map[205][205],node[205],vis[205],Min,n;
     6 
     7 void set()
     8 {
     9     for (int i=1; i<=n; i++)
    10     {
    11         vis[i]=0;
    12         node[i]=INF;
    13         for (int j=1; j<=n; j++)
    14             map[i][j]=INF;
    15     }
    16 }
    17 
    18 int dijkstra(int m,int end)
    19 {
    20     int tm=m;
    21     vis[m]=1;
    22     node[m]=0;
    23     for (int k=2; k<=n; k++)
    24     {
    25         Min=INF;
    26         for (int i=1; i<=n; i++)
    27             if (!vis[i])
    28             {
    29                 if (node[i]>node[tm]+map[tm][i])
    30                     node[i]=node[tm]+map[tm][i];
    31                 if (Min>node[i])
    32                 {
    33                     Min=node[i];
    34                     m=i;
    35                 }
    36             }
    37         vis[m]=1;
    38         tm=m;
    39         if(vis[end])
    40             return node[end];
    41     }
    42     return -1;
    43 }
    44 
    45 int main ()
    46 {
    47     int k;
    48     while (scanf("%d",&n),n)
    49     {
    50         set();
    51         int a,b;
    52         scanf("%d%d",&a,&b);
    53         for (int i=1; i<=n; i++)
    54         {
    55             scanf("%d",&k);
    56             if (i+k<=n)
    57                 map[i][i+k]=1;
    58             if (i-k>=1)
    59                 map[i][i-k]=1;
    60         }
    61         printf ("%d
    ",dijkstra(a,b));
    62     }
    63     return 0;
    64 }
  • 相关阅读:
    xp sp3下 IIS5.1 配置python 的正确方法
    asp 采集不到数据,采集不成功 拒绝访问 msxml3.dll 错误 '80070005' 的解决方法
    列表样式
    css文本属性
    css背景属性
    常规流练习
    盒模型练习
    定位体系相关练习
    层叠机制的步骤
    简单网页的制作——html
  • 原文地址:https://www.cnblogs.com/qq-star/p/3913008.html
Copyright © 2011-2022 走看看