hytmnt hytmnt
关注数: 9 粉丝数: 112 发帖数: 595 关注贴吧数: 32
可以(justok) 【题目描述】 晶有一个日期带3或者是3的倍数“可以”的义妹 规范地说,若日期可表示为DayMonth Year,其中日(Day)、月(Month)、年(Year)三个数有至少有一为3的倍数或至少有一数字串含有'3'则认为该日期“可以” 由于晶精力有限,他想知道从某一个日期开始计数,正好是第n次“可以”的日期。 我们现行的公历为格里高利历(Gregoriancalendar),它是在公元1582年由教皇格里高利十三世在原有的儒略历(Juliancalendar)的基础上修改得到的(注:儒略历与儒略日并无直接关系)。具体而言,现行的公历日期按照以下规则计算: 公元 1582年 10月 15日(含)以后:适用格里高利历,每年一月 31天、二月 28天或 29天、三月 31天、四月 30天、五月 31天、六月 30天、七月 31天、八月 31天、九月 30天、十月 31天、十一月 30天、十二月 31 天。其中,闰年的二月为 29天,平年为 28天。当年份是 400的倍数,或日期年份是 4的倍数但不是 100的倍数时,该年为闰年。 公元1582年10月5日(含)至10月14日(含):不存在,这些日期被删除,该年 10月 4日之后为 10月 15日。 公元 1582年 10月 4日(含)以前:适用儒略历,每月天数与格里高利历相同,但只要年份是 4的倍数就是闰年。 尽管儒略历于公元前 45年才开始实行,且初期经过若干次调整,但今天人类习惯于按照儒略历最终的规则反推一切 1582年 10月 4日之前的时间。注意,公元零年并不存在,即公元前 1年的下一年是公元 1年。因此公元前 1年、前 5年、前 9年、前 13年……以此类推的年份应视为闰年。 【输入格式】 输入文件名为 justok.in。 第一行一个整数 Q,表示询问的组数。 接下来 Q行,每行一个非负整数 n 表示次数。接下来是一行表示日期的字符串S1,格式见下文。 【输出格式】 输出文件名为 justok.out。 对于每一个询问,输出一行表示日期的字符串 S2。共计 Q行。 S的格式如下: 若年份为公元后,输出格式为DayMonth Year。其中日(Day)、月(Month)、年(Year)均不含前导零,中间用一个空格隔开。例如:公元2020 年 11 月 7 日正午 12 点,输出为 7 11 2020。 若年份为公元前,输出格式为 DayMonthYearBC。其中年(Year)输出该年份的数值,其余与公元后相同。例如:公元前 841年 2月 1日正午 12点,输出为 1 2 841 BC。 原帖: https://tieba.baidu.com/p/9072745885?share=9105&fr=sharewise&see_lz=0&share_from=post&sfc=copy&client_type=2&client_version=12.61.1.0&st=1719818542&is_video=false&unique=EC0126DF96E2369236ED33A51DEA5EDA
1 下一页