• 逃离僵尸岛


    【题目描述】

    现有N个城市,城市之间有道路相连,一共有M条双向道路,保证没有自环和重边。

    现有K个城市已经被僵尸控制,所以不能进入。若某个正常城市到某个僵尸城市的距离不超过S,则称此城市为危险城市。

    小A住在1号城市,他想去N号城市避难,这两座城市没有被侵略。白天小A会走一段道路,晚上要住在所处城市。在正常城市需花费P元,而在危险城市,由于安保措施,所以会变贵,为Q元。所有危险城市的住宿花费相同,正常城市也是如此。且在1号城市和N号城市,小A不需要住店。

    现询问从1号城市到N号城市所需要的最小花费,数据保证存在路径可以成功逃离。

    【输入描述】

    第一行输入4个整数N、M、K、S;

    第二行输入2个整数P、Q;

    接下来K行,每行输入1个整数Ci,表示僵尸控制的城市;

    接下来M行,每行输入2个整数Ai、Bi,表示一条无向边。

    【输出描述】

    输出一个整数表示最低花费。

    【输入样例】

    13 21 1 1

    1000 6000

    7

    1 2

    3 7

    2 4

    5 8

    8 9

    2 5

    3 4

    4 7

    9 10

    10 11

    5 9

    7 12

    3 6

    4 5

    1 3

    11 12

    6 7

    8 11

    6 13

    7 8

    12 13

    【输出样例】

    11000

    【数据范围及提示】

    样例如图所示:

    对于20%数据,N <= 50;

    对于100%数据,2 <= N <= 100000,1 <= M <= 200000,0 <= K <= N-2,0 <= S <= 100000,1 <= P < Q <= 100000。

  • 相关阅读:
    【转】 MySQL高级知识(一)——基础
    inline元素的间距问题
    ES6对于数组的扩展
    JavaScript的垃圾回收机制
    call() apply() bind()
    防抖和节流
    Promise
    js的事件机制
    Javascript异步操作的异常处理
    JavaScript的事件执行机制及异步
  • 原文地址:https://www.cnblogs.com/Ackermann/p/5903311.html
Copyright © 2020-2023  润新知