#799. 儒略日

儒略日

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

为了简便计算,天文学家们使用儒略日(Julian day)来表达时间。所谓儒略日,其定义为从公元前 4713\red{4713}1\red{1}1\red{1} 日正午 12\red{12} 点到此后某一时刻间所经过的天数,不满一天者用小数表达。若利用这一天文学历法,则每一个时刻都将被均匀的映射到数轴上,从而得以很方便的计算它们的差值。

现在,给定一个不含小数部分的儒略日,请你帮忙计算出该儒略日(一定是某一天的中午 12\red{12} 点)所对应的公历日期。

我们现行的公历为格里高利历(Gregorian calendar),它是在公元 1582\red{1582} 年由教皇格里高利十三世在原有的儒略历(Julian calendar)的基础上修改得到的(注:儒略历与儒略日并无直接关系)。具体而言,现行的公历日期按照以下规则计算:

1\red 1. 公元 1582\red{1582}10\red{10}15\red{15} 日(含)以后:适用格里高利历,每年一月 31\red{31} 天、 二月 28\red{28} 天或 29\red{29} 天、三月 31\red{31} 天、四月 30\red{30} 天、五月 31\red{31} 天、六月 30\red{30} 天、七月 31\red{31} 天、八月 31\red{31} 天、九月 30\red{30} 天、十月 31\red{31} 天、十一月 30\red{30} 天、十二月 31\red{31} 天。其中,闰年的二月为 29\red{29} 天,平年为 28\red{28} 天。当年份是 400\red{400} 的倍数,或 日期年份是 4\red 4 的倍数但不是 100\red{100} 的倍数时,该年为闰年。 2\red 2. 公元 1582\red{1582}10\red{10}5\red 5 日(含)至 10\red{10}14\red{14} 日(含):不存在,这些日期被删除,该年 10\red{10}4\red 4 日之后为 10\red{10}15\red{15} 日。 3\red 3. 公元 1582\red{1582}10\red{10}4\red 4 日(含)以前:适用儒略历,每月天数与格里高利历 相同,但只要年份是 4\red{4} 的倍数就是闰年。 4\red 4. 尽管儒略历于公元前 45\red{45} 年才开始实行,且初期经过若干次调整,但今天人类习惯于按照儒略历最终的规则反推一切 1582\red{1582}10\red{10}4\red 4 日之前的时间。注意,公元零年并不存在,即公元前 1\red 1 年的下一年是公元 1\red 1 年。因此公元前 1\red 1 年、前 5\red 5 年、前 9\red 9 年、前 13\red{13} 年……以此类推的年份应视为闰年。

输入格式

第一行一个整数 Q\red{Q},表示询问的组数。

接下来 Q\red{Q} 行,每行一个非负整数 ri\red{r_i},表示一个儒略日。

输出格式

对于每一个儒略日 ri\red{r_i},输出一行表示日期的字符串 si\red{s_i}。共计 Q\red{Q} 行。 si\red{s_i} 的格式如下:

1\red{1}. 若年份为公元后,输出格式为Day Month Year\red{Day\ Month\ Year}。其中日Day\red{(Day)}、月Month\red{(Month)}、年Year\red{(Year)}均不含前导零,中间用一个空格隔开。例如:公元 2020\red{2020}11\red{11}7\red 7 日正午 12\red{12} 点,输出为7\red 7 11\red{11} 2020\red{2020}2\red{2}. 若年份为公元前,输出格式为Day\red{Day} Month\red{Month} Year\red{Year} BC\red{BC}。其中年Year\red{(Year)}输出该年份的数值,其余与公元后相同。例如:公元前 841\red{841}2\red 21\red 1 日正午 12\red{12} 点,输出为1\red{1} 2\red{2} 841\red{841} BC\red{BC}

样例

输入样例 1

3 
10
100
1000

输出样例 1

11 1 4713 BC 
10 4 4713 BC
27 9 4711 BC

输入样例 2

3 
2000000 
3000000
4000000

输出样例 2

14 9 763 
15 8 3501
12 7 6239

提示

测试点编号 Q=\red{Q=} ri\red{r_i\le}
1\red{1} 1000\red{1000} 365\red{365}
2\red{2} 104\red{10^4}
3\red{3} 105\red{10^5}
4\red{4} 10000\red{10000} 3×105\red{3\times 10^5}
5\red{5} 2.5×106\red{2.5\times 10^6}
6\red{6} 105\red{10^5}
7\red{7} 5×106\red{5\times 10^6}
8\red{8} 107\red{10^7}
9\red{9} 109\red{10^9}
10\red{10} 年份答案不超过 109\red{10^9}

2021年CSP-S第二轮重现

未参加
状态
已结束
规则
IOI
题目
4
开始于
2023-10-11 9:45
结束于
2023-10-11 11:45
持续时间
2 小时
主持人
参赛人数
0