zoukankan      html  css  js  c++  java
  • 兔子

    【题目描述】

    草原上有N个兔子窝,每个窝里有一只兔子,有M条路径连接着这些窝,并且至多只有一个兔子窝有三条或更多的路径与其相连,其它兔子窝只有一条或两条路径与其相连。

    要求把K个兔子窝扩建成避难所,遇到危险时,每只兔子均会同时前往距离它最近的避难所,花费的时间等于其经过的路径条数。

    现需要规划一种建造方案,使得最后一只到达避难所的兔子所花费的时间最短。

    【输入描述】

    第一行输入三个整数N、M、K,分别表示兔子窝的个数、路径数以及计划建造的避难所数;

    接下来M行,每行输入两个整数X、Y,表示第X个兔子窝和第Y个兔子窝之间存在一条相连的路径,任意两个兔子窝之间至多只有一条相连的路径。

    【输出描述】

    输出一个整数,表示最后一只到达避难所的兔子所花费的最短时间。

    【输入样例】

    5 5 2

    1 2

    2 3

    1 4

    1 5

    4 5

    【输出样例】

    1

    【数据范围及提示】

    样例中,在第2个和第5个兔子窝建造避难所,其它兔子窝的兔子最多只需要经过1条路径就可以到达某个避难所。

    对于30%的数据,N ≤ 15,K ≤ 4;

    对于60%的数据,N ≤ 100;

    对于100%的数据,1 ≤ K ≤ N ≤ 1000,1 ≤ M ≤ 1500。

  • 相关阅读:
    团队开发第二阶段
    每日日报
    每日日报
    每日日报
    每日日报
    每日日报
    C++类class和结构体struct区别
    c++简单的类的建立与参数的两种传递方法
    C++ 使用delete删除指针
    暂存
  • 原文地址:https://www.cnblogs.com/Ackermann/p/6043533.html
Copyright © 2011-2022 走看看