Bus System

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 8055    Accepted Submission(s): 2121

Problem Description
Because
of the huge population of China, public transportation is very
important. Bus is an important transportation method in traditional
public transportation system. And it’s still playing an important role
even now.
The bus system of City X is quite strange. Unlike other
city’s system, the cost of ticket is calculated based on the distance
between the two stations. Here is a list which describes the
relationship between the distance and the cost.

Your
neighbor is a person who is a really miser. He asked you to help him to
calculate the minimum cost between the two stations he listed. Can you
solve this problem for him?
To simplify this problem, you can assume
that all the stations are located on a straight line. We use
x-coordinates to describe the stations’ positions.

 
Input
The
input consists of several test cases. There is a single number above
all, the number of cases. There are no more than 20 cases.
Each case
contains eight integers on the first line, which are L1, L2, L3, L4, C1,
C2, C3, C4, each number is non-negative and not larger than
1,000,000,000. You can also assume that L1<=L2<=L3<=L4.
Two
integers, n and m, are given next, representing the number of the
stations and questions. Each of the next n lines contains one integer,
representing the x-coordinate of the ith station. Each of the next m
lines contains two integers, representing the start point and the
destination.
In all of the questions, the start point will be different from the destination.
For
each case,2<=N<=100,0<=M<=500, each x-coordinate is between
-1,000,000,000 and 1,000,000,000, and no two x-coordinates will have
the same value.
 
Output
For
each question, if the two stations are attainable, print the minimum
cost between them. Otherwise, print “Station X and station Y are not
attainable.” Use the format in the sample.
 
Sample Input
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
 
Sample Output
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.
 
注意这题INF要很大。。我就是因为INF开小了一点点就WA了。
#include <stdio.h>
#include <algorithm>
#include <string.h>
#include <iostream>
#include <stdlib.h>
using namespace std;
typedef long long ll;
const ll INF =;
const int N = ;
ll graph[N][N];
ll L[],C[];
ll x[N];
ll check(ll dis){
if(dis<=L[]) return C[];
else if(dis>L[]&&dis<=L[]) return C[];
else if(dis>L[]&&dis<=L[]) return C[];
else if(dis>L[]&&dis<=L[]) return C[];
return INF;
}
int main()
{
int tcase;
scanf("%d",&tcase);
int t = ;
while(tcase--){
for(int i=;i<;i++){
scanf("%lld",&L[i]);
}
sort(L,L+);
for(int i=;i<;i++){
scanf("%lld",&C[i]);
}
int n,m;
scanf("%d%d",&n,&m);
for(int i=;i<n;i++){
scanf("%lld",&x[i]);
}
for(int i=;i<n;i++){
for(int j=;j<n;j++){
if(i==j) graph[i][j] = ;
else{
ll dis = abs(x[i]-x[j]);
graph[i][j]=check(dis);
}
}
}
for(int k=;k<n;k++){
for(int i=;i<n;i++){
if(graph[k][i]<INF){
for(int j=;j<n;j++){
graph[i][j] = min(graph[i][j],graph[i][k]+graph[k][j]);
}
}
}
}
printf("Case %d:\n",t++);
while(m--){
int a,b;
scanf("%d%d",&a,&b);
int c = a-,d=b-;
if(graph[c][d]>=INF) printf("Station %d and station %d are not attainable.\n",a,b);
else printf("The minimum cost between station %d and station %d is %lld.\n",a,b,graph[c][d]);
}
}
}

hdu 1690(Floyed)的更多相关文章

  1. hdu 1690 Bus System(Dijkstra最短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1690 Bus System Time Limit: 2000/1000 MS (Java/Others ...

  2. hdu 1690 构图后Floyd 数据很大

    WA了好多次... 这题要用long long 而且INF要设大一点 Sample Input2 //T1 2 3 4 1 3 5 7 //L1-L4 C1-C4 距离和花费4 2 //结点数 询问次 ...

  3. hdu 1217(Floyed)

    Arbitrage Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...

  4. hdu 1385(Floyed+打印路径好题)

    Minimum Transport Cost Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/O ...

  5. hdu 1181(Floyed)

    变形课 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/65536 K (Java/Others)Total Submis ...

  6. HDU 1690 Bus System

    题目大意:给出若干巴士不同价格的票的乘坐距离范围,现在有N个站点,有M次询问,查询任意两个站点的最小花费 解析:由于是多次查询不同站点的最小花费,所以用弗洛伊德求解 时间复杂度(O^3) 比较基础的弗 ...

  7. hdu 1690 The Balance_母函数

    题意:给你n个数,这些数可以互相加或者减,输出在范围[1,sum]里不能通过运算得出的数 思路:套母函数模版 #include <iostream> #include<cstdio& ...

  8. hdu 1690 Bus System (有点恶心)

    Problem Description Because of the huge population of China, public transportation is very important ...

  9. hdu 1690 Bus System (最短路径)

    Bus System Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

随机推荐

  1. codeforces 258D DP

    D. Little Elephant and Broken Sorting time limit per test 2 seconds memory limit per test 256 megaby ...

  2. MySQL的增、删、查、改操作命令

    MySQL的增.删.查.改操作命令: 一.修改mysql数据库密码 格式:mysqladmin -u用户名 -p旧密码 password 新密码. 二.查看 查看多少个数据库:注意 后面带s #查看 ...

  3. 51nod 1107 斜率小于零连线数量 特调逆序数

    逆序数的神题.... 居然是逆序数 居然用逆序数过的 提示...按照X从小到大排列,之后统计Y的逆序数... 之后,得到的答案就是传说中的解(斜率小于零) #include<bits/stdc+ ...

  4. 访问tomcat出现HTTP Status 500 - java.lang.IllegalStateException: No output folder

    问题:tomcat分为安装版和解压缩版,解压缩版如果解压到安装盘,在浏览器中访问http://localhost:8080,可能会出现500错误,错误提示如下:  localhost:8080 jav ...

  5. TCP的运输连接管理

    TCP的运输连接管理 TCP是面向连接的协议,有三个阶段:连接建立.数据传送 和 连接释放.运输连接的管理就是使运输连接的简历和释放都能正常地进行. 在TCP连接建立过程中要解决一下三个问题: 1.  ...

  6. vue-cli 中引入 jq

    vue-cli webpack 引入jquery   今天费了一下午的劲,终于在vue-cli 生成的工程中引入了jquery,记录一下.(模板用的webpack) 首先在package.json里的 ...

  7. 【3Sum Closest 】cpp

    题目: Given an array S of n integers, find three integers in S such that the sum is closest to a given ...

  8. ogre3D学习基础1 -- 核心对象与脚本技术

    一.核心对象介绍1.命名空间 Ogre3d使用了C++的特性--命名空间,可以防止命名混淆.使用方法也简单,using namespace Ogre;或者直接在使用时加上“Ogre::”的前缀,如Og ...

  9. LR11生成图表后修正Analysis中显示请求的地址长度过短50个字符的问题

    在LR11的安装目录下找到LRAnalysis80.ini文件,在其中的[WPB]下添加SURLSize=255内容. 其次还需要修改LR目录下loader2.mdb文件,将其中的Breakdown_ ...

  10. Leetcode 647.回文子串

    回文子串 给定一个字符串,你的任务是计算这个字符串中有多少个回文子串. 具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串. 示例 1: 输入: "abc&qu ...