明星旅行(771)
   

  流行明星在计划他的国际旅行时总是希望在旅途中花尽可能少的时间,而将更多的时间用于排练、演出和私人事务。他们都乘飞机旅行并希望寻找到达目的地的最快途径。但是现在为一次长途旅行寻找最快的途径并不是件容易的工作,所以能解决这一问题的计算机程序将在市场上很受欢迎。现在假定你是一个独立的软件开发者并被鼓励去编制这样一个程序。

  由于明星们只乘飞机旅行,因此总是变得相对简单一些。你仅仅只需考虑各个国际机场及连接他们的各条航线。

  下面是一些航空旅行的基本准则。

  ☆ 各个国标机场所在的时区不同。
  ☆ 每个国际机场都有说明了每个航班的目的地、起飞时间和飞行时间的航班表,这个航班表的周期是天。
  ☆ 登机或转机需要时间,这个时间对于每个机场来说不尽相同。

  为了把问题描述得更清楚,我们作出如下假设:

  ☆ 每个国际机场的名称用不超过20个字母、数字或下划线所组成的字符串表示。每个国际机场的名称都不相同。
  ☆ 每个航班的名称用不超过5个字母或数字组成的字符串表示,代表了航空公司的编号和航班号,每个航班的名称都不相同。
  ☆ 所有表示时间的数据统一采用"hh:mm"格式,其中"hh"和"mm"由数字'0'到'9'组成,分别表示"时"与"分",除特别指明外,所有的时间均为当地时间。

  使用上述的假定,你应当写一个程序以寻找从出发地机场到目的地机场的最快途径。

  输人数据:

  输入文件的第一行依次给出了出发地机场名称、目的地机场名称和明星到达出发地机场的时间。他们之间用空格隔开。输入文件的第二行是一个整数N,表示机场总数,2≤N≤100。以下各行是对各个机场的描述信息,每个机场的描述信息由一行头描述和若干行详细描述组成。

  头描述依次为机场名称、时差、登机(转机)时间、以及整数M,它们之间用空格隔开。当地时间减去当地时差为格林威治时间。时差用"shh:mm"格式表示,其中s为"+"或"-"。M表示该机场的航班表中航班的数目(M不超过300)。每个航班的具体信息由下面M行描述。

  每个描述航班的详细信息的行由航班名称、目的地机场名称、起飞时间和飞行的时间组成,它们之间用空格隔开。输人数据保证一定有解。

  输出数据:

  输出文件的第一行输出从明星到达出发地机场至到达目的地机场所用的总的旅行时间,格式为"d:hh:咖",其中d表示天数(保证每次旅行不超过9天)。

  输出文件的第二行输出到达目的地机场的时间,以下各行输出这条最快途径上依次所乘坐的航班名称。

  Sample input

  Pulkovo JFK 11:15
  3
  Pulkovo +03:00 01:30 2
  BA347 Heathrow 12:10 04:25
  Z8805 Heathrow 18:25 04:30
  Heathrow +00:00 00:45 3
  BA160 JFK 09:20 08:10
  BA346 Pulkovo 14:45 04:20
  Z8804 Pulkovo 21:30 04:25
  JFK -05:00 00:45 1
  BA161 Heathrow 14:25 08:05

  Sample Output

  1:09:15
  12:30
  Z8805
  BA160
 

   

 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有