CF1020A.New Building for SIS

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

New Building for SIS

题目描述

你正在研究夏季信息学院新建筑的楼层设计。因为你担任着英国秘密情报局的后勤物流任务,所以你十分在乎去往不同位置的路程耗时:了解从演讲室到食堂,或者从健身房到服务器机房的耗时是很重要的。

这个建筑由 nn 个塔楼组成,标号为 1n1 - n ;每个塔楼有 hh 层,标号为 1h1 - h 。任意两个相邻的塔楼间有一条通道(当 1in11 \le i \le n - 1 时,塔楼 iii1i - 1 相连)。在第 x(axb)x ( a \le x \le b) 层上,你可以在与第 xx 层相邻的2层移动,或如果第 xx 层与相邻的塔楼有通道连通也可移动至其上。离开建筑是不被允许的。

img

这个图片解释了 输入 #1

你将被给予 kk 对位置 (ta,fa),(tb,fb)(t_a, f_a), (t_b, f_b) :代表塔楼 tat_a 上的第 faf_a 层,塔楼 tbt_b 上的第 fbf_b 层。

对于每一对位置,你需要确定它们之间的最短耗时。

输入格式

输入的第一行包含以下整数:

  • nn : 建筑中塔楼的个数 (1n108)(1 \le n \le 10^8)
  • hh : 塔楼的层数 (1h108)( 1 \le h \le 10^8)
  • aabb : 可以在相邻塔楼间移动的最低与最高楼层限制 (1abh)(1 \le a \le b \le h)
  • kk : 给予的位置个数 (1k104) (1 \le k \le 10^4)

接下来 kk 行,是每对位置的详细数据,每对数据包括四个整数 $t_a, f_a, t_b, f_b (1 \le t_a, t_b \le n, 1 \le f_a, f_b \le h)$ 你需要确定它们间的最短耗时。

输出格式

对于每对位置,回应一个整数,为两地之间最短路程耗时。

样例

3 6 2 3 3
1 2 1 3
1 4 3 4
1 2 2 3
1
4
2

在线编程 IDE

建议全屏模式获得最佳体验