#P3942. Stopped Watches
Stopped Watches
描述
在第勒尼安海中央,有一座名为克罗诺斯的小火山岛。这座岛屿如今无人居住,但它曾经是一个文明的岛屿。一些历史记录表明,大约800年前,这座岛屿因火山喷发而被摧毁,岛上的大多数人被火山活动引发的火山碎屑流所吞噬。2003年,一支欧洲考古队在克罗诺斯岛发起了一项挖掘项目。从那时起,该项目提供了许多重要的历史见解。特别是2008年夏天的发现震惊了世界:项目团队挖掘出了几具灾难受害者佩戴的机械手表。这表明克罗诺斯岛的居民拥有如此高度先进的制造技术。
手表出土后不久,考古队的考古学家们试图确定灾难发生的确切时间,但由于几个困难而未能成功。首先,火山碎屑流的极高温度严重损坏了手表,抹去了印在上面的字母和数字。其次,每块手表都呈完美的圆形,无法分辨手表的顶部在哪里。最后,尽管每块手表都有三根指针,但它们的外观完全相同,因此无法分辨哪根是时针、分针或秒针(克罗诺斯岛的居民如何区分这三根指针仍是一个谜。一些考古学家猜测指针可能涂有不同的颜色,但这只是一种假设,因为油漆已被高温烧毁)。这意味着我们无法唯一确定手表所指示的时间;可能有多个候选时间。我们必须考虑手表的不同旋转角度。此外,由于指针有几种可能的解释,我们还必须考虑指针的所有排列方式。
你是被邀请加入项目团队的信息考古学家,被要求从挖掘出的手表集合中推断出灾难发生的最合理时间区间。
在接下来的内容中,我们将时间表示为12小时制。我们用hh:mm:ss的符号表示时间,其中hh、mm和ss分别代表小时(hh = 00, 01, 02, ... , 11)、分钟(mm = 00, 01, 02, ... , 59)和秒(ss = 00, 01, 02, ... , 59)。时间从00:00:00开始,每秒递增00:00:00, 00:00:01, 00:00:02, ... ,但每12小时回到00:00:00。
克罗诺斯岛的手表遵循现代模拟手表的以下惯例:
- 手表有三根指针,即时针、分针和秒针,尽管如上所述它们看起来完全相同。
- 每根指针以离散方式顺时针旋转6度。也就是说,没有指针会停留在刻度之间,每根指针每60个刻度回到相同位置。
- 秒针每秒移动一格。
- 分针每60秒移动一格。
- 时针每12分钟移动一格。
- 在时间00:00:00,三根指针都位于同一位置。
由于克罗诺斯岛的居民相当热衷于保持手表的准确性,并且火山碎屑流在岛上蔓延得相当迅速,可以假设所有手表都是在很短的时间间隔内停止的。因此,极有可能灾难发生的时间在最短的时间区间内,在此区间内所有挖掘出的手表至少有一个候选时间。
你必须计算出最短的时间区间,并将其报告给项目团队。
输入
输入由多个数据集组成,每个数据集的格式如下:
n
s1 t1 u1
s2 t2 u2
.
.
.
sn tn un
第一行包含一个整数n(2 ≤ n ≤ 10),表示手表的数量。每行中的三个数字si、ti、ui是0 ≤ si, ti, ui ≤ 59的整数,它们通过相对于任意选择位置的刻度数来指定三根指针的位置。
请注意,手表指针的位置可以用许多不同的方式表示。例如,如果一块手表在11:55:03停止,指针的位置可以通过任意旋转手表(例如59 55 3、0 56 4、1 57 5等)以及任意排列时针、分针和秒针(例如55 59 3、55 3 59、3 55 59等)来不同地表示。
输入的结束由一行包含单个零表示。
输出
对于每个数据集,输出最短的时间区间,在此区间内数据集中的所有手表至少有一个候选时间。每个数据集的输出必须写在单独的一行中,格式如下:
hh:mm:ss h′h′:m′m′:s′s′
每行包含一对时间hh:mm:ss和h′h′:m′m′:s′s′,表示最短区间从hh:mm:ss开始,到h′h′:m′m′:s′s′结束(包括两端)。开始时间和结束时间由单个空格分隔,每个时间应由两位数字表示的小时、分钟和秒组成,并用冒号分隔。输出中不应出现额外的字符。
在计算最短区间时,你可以利用以下事实:每块手表至少有一个候选时间,并且最短时间区间仅在从00:00:00开始时才包含00:00:00(即最短区间在时间回到00:00:00之前结束)。
如果有多个时间区间给出相同的最短长度,输出从00:00:00开始(包括00:00:00)后最先出现的那个。
输入数据 1
3
8 8 18
32 32 32
57 2 57
5
49 3 49
7 30 44
27 21 21
33 56 56
21 46 4
3
45 52 28
36 26 36
20 55 50
10
33 8 39
50 57 43
35 21 12
21 17 11
16 21 58
45 40 53
45 30 53
39 1 8
55 48 30
7 48 15
0
输出数据 1
00:00:00 00:00:10
06:14:56 06:32:09
07:27:37 07:32:02
05:17:40 05:21:03