/ Vijos / 题库 /

充电网络

充电网络

时间限制:1秒  内存限制:256M


【问题描述】

  为了推广他的贝斯拉(Bessla)电动拖拉机系列,Farmer John 希望展示贝斯拉的充电网络。他已标记了地图上 \(N\)(\(2\le N\le 5\cdot 10^4\))个编号为 \(1\ldots N\) 的兴趣点,其中前 \(C\)(\(1\le C<N\))个是充电站,其余为旅游目的地。这些兴趣点之间由 \(M\)(\(1 \le M \le 10^5\))条双向道路连接,其中第 \(i\) 条连接不同的点 \(u_i\) 和 \(v_i\)(\(1\le u_i,v_i\le N\))且长度为 \(l_i\) 英里(\(1\le l_i\le 10^9\))。

  贝斯拉一次充电最多可行驶 \(2R\)英里(\(1\le R\le 10^9\)),使之可以到达一个充电站 \(R\) 英里范围内的任何目的地。一个目的地被称之为交通便利的,如果可以从至少 \(K\)(\(1\le K\le 10\))个不同的充电站到达目的地。你的任务是帮助 Farmer John 确定交通便利的旅游目的地的集合。

【输入格式】

  输入的第一行包含五个空格分隔的整数 \(N\),\(M\),\(C\),\(R\) 和 \(K\)。以下 \(M\) 行,每行包含三个空格分隔的整数 \(u_i\),\(v_i\) 和 \(l_i\),其中 \(u_i\neq v_i\)。
  充电站的编号为 \(1,2,\ldots,C\)。其余兴趣点均为旅游目的地。

【输出格式】

  首先输出一行,包含交通便利的旅游目的地的数量。然后升序输出所有交通便利的旅游目的地,每个一行。

【输入输出样例1】

 Input

3 3 1 4 1
1 2 3
1 3 5
2 3 2

 Output

1
2

【样例1解释】

  我们在 \(1\) 有一个充电站。从这个充电站出发,我们可以到达 \(2\)(因为它与 \(1\) 的距离为 \(3\)),但不能到达 \(3\)(因为它与 \(1\) 的距离为 \(5\))。因此,只有点 \(2\) 是交通便利的。

【输入输出样例2】

 Input

4 3 2 101 2
1 2 1
2 3 100
1 4 10

 Output

2
3
4

【样例2解释】

  我们在 \(1\) 和 \(2\) 有充电站,点 \(3\) 和 \(4\) 均位于 \(1\) 和 \(2\) 的 \(101\) 距离内。因此,点 \(3\) 和 \(4\) 都是交通便利的。

【输入输出样例3】

 Input

4 3 2 100 2
1 2 1
2 3 100
1 4 10

 Output

1
4

【数据说明】

  • 测试点 \(4-5\):\(K=2\),\(N\le 500\) 且 \(M\le 1000\)。
  • 测试点 \(6-7\):\(K=2\)。
  • 测试点 \(8-15\):没有额外限制。

【来源】

  Mr.he

信息

ID
3128
难度
10
分类
图结构 | 最短路 点击显示
标签
递交数
2
已通过
0
通过率
0%
上传者