题目名称 841. 塔防游戏
输入输出 defence.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2012-07-05加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:7, 提交:33, 通过率:21.21%
GravatarSnowDancer 100 0.581 s 8.77 MiB Pascal
Gravatarisabella 100 0.612 s 12.59 MiB Pascal
Gravatarfuhao 100 0.669 s 17.40 MiB Pascal
Gravatarczp 100 0.882 s 15.64 MiB Pascal
GravatarIMSL77 100 0.952 s 61.23 MiB Pascal
Gravatarzhangchi 100 1.172 s 47.88 MiB Pascal
GravatarCzb。 100 1.326 s 1.30 MiB C++
Gravatarisabella 90 0.597 s 12.59 MiB Pascal
Gravatarisabella 90 1.531 s 15.45 MiB Pascal
Gravatarisabella 90 1.549 s 12.59 MiB Pascal
本题关联比赛
20120705
关于 塔防游戏 的近10条评论(全部评论)

841. 塔防游戏

★★★   输入文件:defence.in   输出文件:defence.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

    x在玩一款塔防类游戏。游戏的规则如下:

1) 整个地图由N个交汇点,M条双向的道路组成;

2) 怪物出现的地点为S,终点为T

3) 怪物通过每段小路都要一定的时间;

这个游戏的任务不是把怪物消灭,而是延缓怪物到达终点的时间。小x唯一的道具是路障,一个路障可以减缓通过这段路的所有怪物一个单位时间。所以怪物从起点到达终点的时间就是 没有路障他们通过所有路径经过的时间+ 路径上 路障的个数

游戏中的怪物是很聪明的,他们会在出发前侦查到每段路上的路障个数,然后选择总时间最短的路径。

x现在想知道最少需要多少个路障,才能使得怪物从起点到终点的时间变长

【输入】

       第一行:NMST,具体含义如题目描述。N个交汇点的编号范围是1..N

接下来M行,每行三个整数ABC。表示AB之间有一条小路相连,且通过它需要的时间为C

输入数据保证两点最多只有一条道路相连,且ST必然存在路径。

【输出】

       一个整数,表示ST之间最短路增长所需要最小的路障的数目。

【输入输出样例1

defence.in

defence.out


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



1


{起点到终点的最短路是15的道路,所以直接一个路障就可以了。}

【输入输出样例2

defence.in

defence.out


6 11 2 5
2 3 1
2 1 4
2 6 2
5 4 11
5 1 16
5 6 18
4 1 5
4 6 7
3 1 3
3 6 1
1 6 2




{15,45,65 +1就可满足,当然还会有其他方案。}

【数据范围】

30%  N<=10,M<=50

50%  N<=200,M<=100000

30%  N<=1000,M<=499500  0