#B4525. [语言月赛 202604] 时区

[语言月赛 202604] 时区

题目描述

Alice 和 Bob 高中时是一对好朋友,他们考上了不同地方的大学,但仍然经常线上联系。最近,Alice 想要坐飞机看望 Bob。

她买了一张机票,从她所在地的 aabb 分起飞,需要经过 mm 分钟(1m14391\le m\le 1439,即小于一天)降落。

Bob 的位置在 Alice 西边相邻的时区。这也就意味着,当飞机在 ccdd 分(Alice 的时区)穿越两个时区的分界线之后,显示的时间会 1-1 小时。

Alice 已经迫不及待地想要见到 Bob,所以她在飞机起飞之后每隔 kk 分钟就会查看一次飞机上显示的时间,直到落地的那一分钟。请你帮忙写一个程序,计算 Alice 每次会看到的时间。

输入格式

输入共一行六个整数 a,b,m,c,d,ka,b,m,c,d,k,表示飞机在 aabb 分起飞,航程共 mm 分钟,其中 ccdd 分穿越分界线,且 Alice 每隔 kk 分钟看一次时间。

以上数据均在 Alice 的时区。

输出格式

输出若干行,表示 Alice 每一次看时间的结果。

对于每一行,输出两个自然数 h,mh,m0h230\le h\le 230m590\le m\le 59),表示时和分,用空格隔开。

7 30 120 8 45 15

7 45
8 0
8 15
8 30
8 45
8 0
8 15
8 30

23 30 125 0 19 15

23 45
0 0
0 15
23 30
23 45
0 0
0 15
0 30

10 29 12 10 40 5

10 34
10 39

0 29 30 0 39 11

23 40
23 51

提示

【样例 1 解释】

Alice 在 7:307:30 出发,航班时长为 120120 分钟,在 8:458:45 结束后穿越时区。Alice 每 1515 分钟看一次时间。

  • Alice 在 7:307:30 出发。
  • 1515 分钟后,时间变成 7:457:45
  • 1515 分钟后,时间变成 8:008:00
  • 1515 分钟后,时间变成 8:158:15
  • 1515 分钟后,时间变成 8:308:30
  • 1515 分钟后,时间变成 8:458:45
  • 在这一分钟结束瞬间,飞机到达 Bob 的时区,换言之 8:458:45 的下一分钟是 Bob 时区的 7:467:46
  • 1515 分钟后(即为 7:467:461414 分钟后),时间变成 8:008:00
  • 1515 分钟后,时间变成 8:158:15
  • 1515 分钟后,时间变成 8:308:30。此时飞机恰好降落。

【样例 2 解释】

Alice 在 23:3023:30 出发,航班时长为 120120 分钟,在 0:190:19 结束后穿越时区。Alice 每 1515 分钟看一次时间。

  • Alice 在 23:3023:30 出发。
  • 1515 分钟后,时间变成 23:4523:45
  • 1515 分钟后,时间变成 0:000:00
  • 1515 分钟后,时间变成 0:150:15
  • 过去 44 分钟后,飞机穿越时区,0:190:19 的下一分钟会变成 23:2023:20
  • 1515 分钟后(即 23:2023:201010 分钟后),时间变成 23:3023:30
  • 1515 分钟后,时间变成 23:4523:45
  • 1515 分钟后,时间变成 0:000:00
  • 1515 分钟后,时间变成 0:150:15
  • 1515 分钟后,时间变成 0:300:30。注意这 1515 分钟内飞机没有穿越时区,并不会改变显示的时间。
  • 又过 55 分钟后,飞机降落。

【数据范围】

对于全体数据,保证 0a,c230\le a,c\le 230b,d590\le b,d\le 591km14391\le k\le m\le 1439 ,且飞机降落时刻一定在 ccdd 分之后。

本题共有 1010 个测试点,部分测试点具有特殊性质,具体地:

测试点编号 特殊性质 A 特殊性质 B
121\sim 2
343\sim 4
565\sim 6
7107\sim 10
  • 特殊性质 A:b+m59b+m\le 59(例如样例 3,4)。
  • 特殊性质 B:保证飞机显示的日期不会变化(例如样例 1,3)。

另外,对于编号为奇数的测试点,保证穿越时区发生在第一次看时间之前(例如样例 4)。