3513 - 千年一遇对称日

题目描述

在 2021 年 12 月 02 日(20211202)这天,有人称其为“千年一遇对称日”。但实际上,下一个对称日并不需要等待上千年。

现给定一个人的姓名及其生卒日期,请列出此人一生中(含出生日和去世日)所经历的所有对称日

对称日定义:一个合法的日期 yyyymmdd,当将其视为一个 8 位字符串时,正读与反读完全相同(即回文)。

输入
  • 第一行:一个人的名字,由不超过 30 个字符的英文字母和空格组成,以换行结束,非空。
  • 第二行:按 yyyymmdd - yyyymmdd 的格式给出此人的出生日期和去世日期。
    • 保证出生日期早于去世日期;
    • 所有日期均合法,范围从 0001010199991231
    • 闰年规则遵循“四年一闰,百年不闰,四百年再闰”:
      • 年份是 4 的倍数,且不是 100 的倍数 → 闰年;
      • 年份是整百数时,必须是 400 的倍数才是闰年;
      • 闰年 2 月有 29 天。
输出
  • 第一行:原样输出输入的名字;
  • 随后若干行:按时间顺序输出该人经历的所有对称日,每个对称日占一行,格式为 yyyymmdd(8 位,不足补前导零);
  • 若没有对称日,则只输出名字,不输出任何日期。
样例

输入

Katherine Johnson
19180826 - 20200224

输出

Katherine Johnson
20011002
20100102
20111102
20200202
说明

说明/提示

  • 对称日必须是真实存在的合法日期(需校验月份、日期及闰年);
  • 生卒日期包含在判断范围内;
  • 日期输出必须为 8 位数字,例如 20200202,不可省略前导零。
标签
题目参数
时间限制 1 秒
内存限制 128 MB
提交次数 0
通过人数 0
金币数量 1 枚
难度 入门


上一题 下一题