编程介的小学生 2017-10-04 02:51 采纳率: 20.5%
浏览 822
已采纳

Escape Plan

Description

Without turning his head, Vader snarled through his mask, “The Millennium Falcon?”
Piett paused a moment before replying. He would have preferred to avoid that issue. “Our tracking scanners are on it now,” he responded a bit fearfully.
Vader turned to face the admiral, his towering figure looming over the frightened officer. Piett felt a chill course through his veins, and when the Dark Lord spoke again his voice conveyed an image of the dreadful fate that would be inflicted if his commands were not executed.
“I want that ship,” he hissed.
The ice planet was rapidly shrinking to a point of dim light as the Millennium Falcon sped into space. Soon that planet seemed nothing more than one of the billions of light specks scattered throughout the black void.
But the Falcon was not alone in its escape into deep space. Rather, it was followed by an Imperial fleet that included the Avenger Star Destroyer and a half-dozen TIE fighter. The fighters moved ahead of the huge, slower-moving Destroyer, and closed in on the fleeing Millennium Falcon.
— Star Wars, Episode V, the Empire Strikes Back
You are driving Millennium Falcon, the fastest starship of the entire galaxy, to escape Imperial pursuit. There are N planet systems, numbered from 0 to N − 1, and some of them are connected by one-way hyperspace tunnels. Some hyperspace tunnels are passable at all times, while others are only available at certain times. Initially you are at the ice planet Hoth, the system numbered 0, at time 0 and you need to get to Sullust, the system numbered N − 1. Since there are K Imperial Star Destroyers following you, and they will also make the jump into the hyperspace to continue the pursuit, you have decided to use the K + 1th shortest path from Hoth to Sullust so as to minimize the possibility of being attacked halfway by Imperial starships; furthermore, in order to avoid detection, you do not want to risk staying at a system longer than T seconds.

Note that multiple shortest paths may require same travel time, and your travel path may not be simple (i.e. you are allowed to visit some systems and use some hyperspace tunnels more than once during your journey).

Input

There are multiple test cases in the input file. Each test case starts with four integers N, M, K and T, (1 ≤ N ≤ 100, 0 ≤ M ≤ 500, 0 ≤ K ≤ 9, 0 ≤ T ≤ 100), the number of planet systems, the number of hyperspace tunnels between them, the pursuing Imperial Star Destroyers, and the maximal allowed time to stay at the same system, respectively. M lines follow, each line describes one of the hyperspace tunnels: four integers U, V, C, and W, (0 ≤ U, V ≤ N − 1, 1 ≤ C ≤ 10, 1 ≤ W ≤ 1000000) meaning there’s a tunnel from U to V , traveling through this path requires W seconds and it is only available every C seconds, starting from time 0 (i.e. 0, C, 2 * C, 3 * C … seconds).

Two successive inputs are separated by a blank line. N = 0, M = 0, K = 0, T = 0 indicates the end of input and should not be processed by your program.

Output

For every test case, you should output one integer on a separate line, the total time we need to reach Sullust in the format as indicated in the sample output; output -1 if no such path can be found.

Sample Input

5 9 2 2
1 2 5 5
2 4 6 6
0 2 1 8
1 4 4 3
3 0 1 8
1 3 5 10
0 4 4 4
2 3 3 4
3 1 5 10

10 0 0 0

0 0 0 0
Sample Output

Case 1: 28
Case 2: -1

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-10-23 10:37
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥88 实在没有想法,需要个思路
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)