题目描述

因为中国人口众多,公共交通就显得很重要. 在传统城市公共交通系统中,公交车是一种很重要的工具。甚至现在还扮演了一种极其重要的角色。

X市的公交系统显得很独特。不像别的城市,该市公交系统是基于两站间的距离来计费的。下表描述了两站之间距离与费用的关系:

距离

费用

0<dist<=L1

C1

L1<dist<=L2

C2

L2<dist<=L3

C3

L3<dist<=L4

C4

dist>L4

没有这种票

表1

你的邻居是一位出名的吝啬鬼。他希望你能帮他计算出他列出表中两站间的最短花费,你能帮帮他吗?

为了简化这个问题,你可以假设所有的站都在一条直线上。我们仅用X坐标来描述每一个站的位置。

输入

输入文件包含多组数据。第一行包含一个整数T表示T组测试数据(T<=20)

每组数据第一行为8个数:L1, L2, L3, L4, C1, C2, C3, C4,每一个数都是不超过1,000,000,000的非负数,并且L1<=L2<=L3<=L4.

接下来两个整数n和m,表示n个站和m个询问。下面n行,每行一个数表示第i个站的x坐标。

下面m行,每行两个数表示询问的起点站和目标站。

在所有的询问中,起点站和目标站都不同。

对于每组数据有,2<=N<=100,0<=M<=500,每一个x坐标在-1,000,000,000 到1,000,000,000之间,并且没有两个x坐标相同。

输出

对于第T组测试数据第一行输出“Case T:”(没有引号)

对于每组询问,如果两个站可达,输出最小花费,否则输出“Station X and station Y are not attainable.”(没有引号)具体格式见样例。

样例输入

2
1 2 3 4 1 3 5 7
4 2
1
2
3
4
1 4
4 1
1 2 3 4 1 3 5 7
4 1
1
2
3
10
1 4

样例输出

Case 1:
The minimum cost between station 1 and station 4 is 3.
The minimum cost between station 4 and station 1 is 3.
Case 2:
Station 1 and station 4 are not attainable.

简单的最短路问题
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
using namespace std;const long long inf=999999999999999;
long long dis[101][101];
int n,m;
long long L1,L2,L3,L4,c1,c2,c3,c4,X[101];void init()
{for (int i=1;i<=n;i++)for (int j=1;j<=n;j++){if (abs(X[i]-X[j])==0) dis[i][j]==0;else if (abs(X[i]-X[j])>0 && abs(X[i]-X[j])<=L1) dis[i][j]=c1;else if (abs(X[i]-X[j])>L1 && abs(X[i]-X[j])<=L2) dis[i][j]=c2;else if (abs(X[i]-X[j])>L2 && abs(X[i]-X[j])<=L3) dis[i][j]=c3;else if (abs(X[i]-X[j])>L3 && abs(X[i]-X[j])<=L4) dis[i][j]=c4;else if (abs(X[i]-X[j])>L4) dis[i][j]=inf;}
}void floyd()
{for (int k=1;k<=n;k++)for (int i=1;i<=n;i++)for (int j=1;j<=n;j++)dis[i][j]=min(dis[i][k]+dis[k][j],dis[i][j]);
}int main()
{int t,x,y;scanf("%d",&t);for (int k=1;k<=t;k++){scanf("%lld %lld %lld %lld %lld %lld %lld %lld",&L1,&L2,&L3,&L4,&c1,&c2,&c3,&c4);scanf("%d%d",&n,&m);for (int i=1;i<=n;i++) scanf("%lld",&X[i]);init();floyd();printf("Case %d:\n",k);for (int i=1;i<=m;i++){scanf("%d%d",&x,&y);if (dis[x][y]<inf)printf("The minimum cost between station %d and station %d is %lld.\n",x,y,dis[x][y]);else printf("Station %d and station %d are not attainable.\n",x,y);}}return 0;
}

转载于:https://www.cnblogs.com/chensunrise/p/3726275.html

hust 1048 公交系统相关推荐

  1. HUST 1408 公交系统

    1408 - 公交系统 时间限制:1秒 内存限制:256兆 606 次提交 59 次通过 题目描述 因为中国人口众多,公共交通就显得很重要. 在传统城市公共交通系统中,公交车是一种很重要的工具.甚至现 ...

  2. 启迪公交:DRDS助力城市公交系统智能化

    公司介绍 启迪公交(北京)科技股份有限公司以下简称"启迪公交",成立于2018年6月26日,是国内领先的智慧公交系统方案提供商和服务运营商.通过承接公交信息化和智慧化项目建设,应用 ...

  3. Java毕设项目城市公交系统计算机(附源码+系统+数据库+LW)

    Java毕设项目城市公交系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

  4. [附源码]JAVA+ssm计算机毕业设计城市公交系统(程序+Lw)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  5. [附源码]Java计算机毕业设计SSM城市公交系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  6. 计算机毕业设计Java城市智能公交系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java城市智能公交系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java城市智能公交系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 ...

  7. 【程序设计训练】3-15 公交系统

    问题描述 城市公交系统有一个记录仪,用于记录每个站点的乘客人数的变化情况,例如:x表示到站前公交车上的乘客人数,y表示离站时公交车上的乘客人数,则该记录仪记录的该站的数字为y-x. 对于一辆公交车和n ...

  8. 数据结构课程设计 公交系统

    大家好! 这是我的第一篇文章,是将这学期的数据结构课设报告整理出来的.可能还有些小错误,还请多多指正. 数据结构课程设计<公交系统> 一.引言 (一)课题描述 (二)设计要求 二.总体设计 ...

  9. (附源码)计算机毕业设计ssm城市智能公交系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

最新文章

  1. LAMP高级环境实战
  2. java MD5 并发
  3. 2019 秦皇岛 I - Invoker Gym - 102361I dp
  4. python实例 85,86
  5. window 环境下搭建多个git项目
  6. os如何读取图片_CV:基于face库利用cv2调用摄像头根据人脸图片实现找人
  7. 2.5.1.2、ImportBeanDefinitionRegistrar 注册BeanDefinition
  8. 编译GDAL支持MySQL
  9. 致Android开发者:APP 瘦身经验总结
  10. 华硕触摸板驱动ASUS PTP Driver安装失败解决办法
  11. MySQL 简单查询语句练习题(4+18)
  12. Javaweb大作业文档部分预览
  13. 计算机换显卡,老平台只换显卡 这样升级行不行?
  14. 通信工程毕业设计 - 选题推荐
  15. php携程源码,Swoole2.0协程的使用和源码解读
  16. matlab2016 dll,VS2012Matlab2016b dll文件混合编
  17. oracle创建表练习
  18. STM32F407单片机移植MS5611气压计(基于IIC)---同时解决温度低于20度时计算得到的大气压错误的问题
  19. 【Lintcode】1413. Tree
  20. Java 行业的相关就业前景分析

热门文章

  1. 给营销的人员看:一篇经典的推销文案
  2. 【Web技术】785- 网页骨架屏自动生成方案分享
  3. 收费企业邮箱注册和免费企业邮箱注册的区别?几大收费企业邮箱对比测评
  4. MD5是摘要算法,摘要算法和加密算法区别
  5. abaqus要求计算机配置,Abaqus对电脑硬件配置要求-元王科技(feaworks)
  6. 人人都是英语学习 划词翻译-开源
  7. 《破解数字VLSI验证面试》翻译计划——综述
  8. 8月4日第壹简报,星期四,农历七月初七,七夕节
  9. ubuntu实体机安装及其基础知识
  10. 基于python的用户画像系统设计与实现