传统题 文件IO:julian 1000ms 256MiB

儒略日

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

题目描述

儒略日表示从公元前 47134713 年 11 月 11 日正午 1212 点起经过的天数。给定一个非负整数儒略日 rr(对应某天正午 1212 点),求它对应的公历日期。

格里高利历和儒略历的各月天数相同:一月 3131 天、二月平年 2828 天或闰年 2929 天、三月 3131 天、四月 3030 天、五月 3131 天、六月 3030 天、七月 3131 天、八月 3131 天、九月 3030 天、十月 3131 天、十一月 3030 天、十二月 3131 天。公元 15821582 年 1010 月 1515 日(含)以后使用格里高利历:年份为 400400 的倍数,或为 44 的倍数但不是 100100 的倍数时是闰年。公元 15821582 年 1010 月 55 日至 1010 月 1414 日不存在,1010 月 44 日之后直接是 1010 月 1515 日。公元 15821582 年 1010 月 44 日(含)以前使用儒略历,年份为 44 的倍数时是闰年。

没有公元 00 年:公元前 11 年的下一年是公元 11 年。按照儒略历反推时,公元前 11、55、99、1313 年等也视为闰年。

输入格式

从文件 julian.in 读入数据。第一行一个整数 QQ,表示询问数;接下来 QQ 行每行一个非负整数 rir_i,表示一个儒略日。

输出格式

输出到文件 julian.out,共 QQ 行。公元后日期输出 Day Month Year,公元前日期输出 Day Month Year BC;日、月、年均不含前导零,中间以一个空格分隔。

样例

3
10
100
1000
11 1 4713 BC
10 4 4713 BC
27 9 4711 BC
3
2000000
3000000
4000000
14 9 763
15 8 3501
12 7 6239

说明/提示

测试点表:

测试点 QQ rir_i 上限
11 Q=1000Q=1000 365365
22 10410^4
33 10510^5
44 Q=10000Q=10000 3×1053\times10^5
55 2.5×1062.5\times10^6
66 Q=105Q=10^5
77 5×1065\times10^6
88 10710^7
99 10910^9
1010 答案年份不超过 10910^9

原题另有附件样例 3,本包未取得该附加样例。题包中的 julian3.in / julian3.out 是正式测试点 3,不是附件样例 3。

CSP 复赛仿真

未参加
状态
已结束
规则
复赛模式
题目
5
开始于
2026-10-18 13:55
结束于
2026-10-18 15:55
持续时间
2 小时
主持人
参赛人数
5