全国交通咨询模拟问题分析
二、问题描述
交通咨询模拟。根据旅客的不同需要,要考虑到旅客希望在旅途中的时间尽可能短、希望旅费尽可能省等的要求。旅途用火车或飞机作为交通工具。用计算机编制程序,为旅客提供两种最优决策的交通咨询系统。
三、基本要求
1、对城市信息(城市名、城市间的里程)进行编辑:具备添加、修改、删除功能;
2、对城市间的两种交通工具:飞机和火车。对飞机航班和列车时刻表进行编辑:里程、航班和列车班次的添加、修改、删除;
3、提供两种最优决策:最快到达或最省钱到达。全程只考虑一种交通工具,
可以不考虑回程;
4、旅途中的耗费的总时间应包括中转站的等候时间。其中飞机至少二小时,
火车至少一小时;
5、咨询以用户和计算机对话方式进行,要注意人机交互的屏幕界面。由用户选择最优决策原则和交通工具,输入起始站、终点站、出发时间,输出信息:最快需要多长时间才能到达及旅费,或者最少需要多少旅费才能到达及时间,并详细说明依次于何时何地乘坐哪一趟班机或列车何时到达何地。
四、测试数据
附录中提供了15个城市及它们之间的里程(公里)及航班和列车时刻表,其中,城市间的航班最多4个,列车车次最多2个。飞机每小时按飞行800公里计算;火车每小时按开80公里计算;飞机的票价按每元1.2公里计算;火车的票价按每元5公里计算。
这里给出一组测试数据:
飞机最快到达咨询:北京到乌鲁木齐,北京11点出发;
火车最快到达咨询:广州到哈尔滨,广州10点出发;
飞机最省钱到达咨询:乌鲁木齐到南京,乌鲁木齐12点出发;
火车最省钱到达咨询:沈阳到杭州,沈阳12点出发;
问题:如果从出发地到目的地需要转车,怎样把列车出发到时间以及达时间考虑进来?需要涉及何种算法?还有如果有很多城市,怎么安排列车出发时间?是自己设计,还是是按真实的来好?
[解决办法]
迪杰斯特拉
是图的搜索技术,最短路径,是在广度优先的基础上,贪心的优先搜索。