当前位置: 首页 > wzjs >正文

网络公司网站 优帮云宣城网站开发专业制

网络公司网站 优帮云,宣城网站开发专业制,销售网站建设常遇到的问题,使用wordpress搭建网站原题目链接 📅 回文日期与 ABABBABA 日期查找题解 🧩 题目描述 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一…

原题目链接

📅 回文日期与 ABABBABA 日期查找题解

🧩 题目描述

2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。因为将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。我们称这样的日期是回文日期

有人说 20200202 是“千年一遇”的特殊日子。但其实,不到两年之后就有下一个回文日期:20211202

更进一步,20200202 还是一种特殊结构的回文数——ABABBABA 型。例如:

  • A:第 1、3、6、8 位
  • B:第 2、4、5、7 位

即满足模式:ABABBABA

这种日期的下一个出现是在 21211212

输入格式

一个 8 位整数 N N N,表示合法日期,范围满足:

10000101 ≤ N ≤ 89991231

输出格式

输出两行,每行一个 8 位数。

  • 第一行为 N N N 之后的下一个回文日期。
  • 第二行为 N N N 之后的下一个 ABABBABA 型的回文日期。

示例

输入:
20200202
输出:
20211202
21211212

🔍 思路解析

本题需要从给定日期 N N N 出发,一天一天模拟:

  1. 将日期按 yyyymmdd 转换成字符串,判断是否是回文。
  2. 判断是否满足 ABABBABA 模式。
  3. 一旦满足条件就记录结果并继续查找,直到找到两个目标为止。

🔧 算法解析

  • 日期有效性处理:使用常规的闰年判断和每月天数表来保证日期合法。
  • 字符串判断
    • 回文判断:直接反转字符串并比对。
    • ABABBABA 判断:检查字符串各位置是否符合该模式。
  • 模拟日期递增
    • 按天递增,如果天数超过当月最大天数,就进位到下一个月。
    • 如果月数进位超过 12,则年份 +1,月份重置为 1。

💻 完整 C++ 实现

#include<bits/stdc++.h>using namespace std;int year, month, day;
vector<int> months = {-1, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 判断是否闰年
bool isrun(int year) {return ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0));
}// 判断是否是回文字符串
bool ishui(string str) {string mid = str;reverse(str.begin(), str.end());return str == mid;
}// 判断是否是 ABABBABA 型
bool isABABBABA(string str) {char a = str[0], b = str[1];return str[2] == a && str[3] == b && str[4] == b &&str[5] == a && str[6] == b && str[7] == a;
}// 计算下一天
void next_day() {bool leap = isrun(year);if (leap) months[2]++;day++;if (day > months[month]) {day = 1;month++;if (month == 13) {month = 1;year++;}}if (leap) months[2]--;  // 恢复2月为28天
}int main() {string str;char buffer[100] = {0};cin >> str;year = stoi(str.substr(0, 4));month = stoi(str.substr(4, 2));day = stoi(str.substr(6));string res1 = "", res2 = "";while (res1 == "" || res2 == "") {next_day();sprintf(buffer, "%04d%02d%02d", year, month, day);str = buffer;if (res1 == "" && ishui(str)) res1 = str;if (res2 == "" && isABABBABA(str)) res2 = str;}cout << res1 << endl << res2;return 0;
}

🧠 时间与空间复杂度分析

  • 时间复杂度
    • 最坏情况下需要遍历数万天,复杂度约为 O ( 天数 ) O(\text{天数}) O(天数)
  • 空间复杂度
    • 常数空间 O ( 1 ) O(1) O(1),仅使用若干变量。

✅ 总结

本题考察了:

  • 时间模拟与日期处理
  • 字符串模式匹配
  • 基本的回文检测

虽然是模拟题,但涉及多个细节(如闰年判断、字符串操作等),非常适合作为练习细节实现与思维清晰度的综合题目。



文章转载自:

http://gIZQFQqU.gczzm.cn
http://GBTdllHv.gczzm.cn
http://EO0cLx9s.gczzm.cn
http://iXow2Sw4.gczzm.cn
http://bN0IO14T.gczzm.cn
http://tU5IDgVw.gczzm.cn
http://MvI5uxaq.gczzm.cn
http://CCp5Rp85.gczzm.cn
http://JXYDYpj6.gczzm.cn
http://06fZ4gKh.gczzm.cn
http://eUHGxCFW.gczzm.cn
http://wbce1bgm.gczzm.cn
http://9iNa7Mcy.gczzm.cn
http://DQ3ppvPC.gczzm.cn
http://3PDbCtyk.gczzm.cn
http://UsIVBKFN.gczzm.cn
http://XZRPEFeT.gczzm.cn
http://WymDvZgt.gczzm.cn
http://loVED2AO.gczzm.cn
http://nKGe39N8.gczzm.cn
http://BNaeJdZe.gczzm.cn
http://vUN6Oxjm.gczzm.cn
http://lxqPmjnJ.gczzm.cn
http://R8cmZQ1O.gczzm.cn
http://FPUsGAdM.gczzm.cn
http://5FNzSoKV.gczzm.cn
http://5ma46t8Q.gczzm.cn
http://W20Nr1ub.gczzm.cn
http://NVqemhOL.gczzm.cn
http://U9bnBnJE.gczzm.cn
http://www.dtcms.com/wzjs/613876.html

相关文章:

  • 厦门蓝典网站建设国内做app软件开发最好的公司
  • 网站检索功能怎么做石家庄网站建设流程
  • 网站建设维护资质中国建设网官方网站证书查询
  • 地图截选做分析图的网站沧县网站建设公司
  • 怎么做58网站吊车网微信公众号的跳转网站怎么做
  • 文库网站开发教程建设网站大全
  • 朝阳区手机网站设计服务wordpress单页面制作
  • 哪个域名注册网站好京津冀协同发展规划纲要
  • 天天新品网做网站南京公司网站建设平台
  • 网站建设前期如何做好市场定位分析关键词网站优化平台
  • 个人网站命名的要求哪个网站可以找题目给小孩做
  • 已有网站开发app终端互联网品牌有哪些
  • 门户网站建设 增强责任意识家装设计师个人简介
  • 百度最新泛站群程序河北城乡建设学校官方网站
  • 企业网站页面图片网站初期建设方案
  • 做网站网页需要什么技术做快手电商需要什么条件
  • 可以做qq空间背景音乐的网站如何区分网站开发语言
  • 模板商城建站如何设计app
  • 无锡seo网站推广电商网站特点
  • 网站做ppt模板下载保定市网站建设
  • 使用element做的网站南宁住建局官方网
  • 像淘宝类别网站怎么做线上广告宣传方式有哪些
  • wordpress中文站网站程序 seo
  • 用文件传输协议登录网站免费网页设计制作网站
  • 北京盛赛车网站开发网站二级菜单模板
  • 建设礼品网站的策划书中国建筑app
  • 台州网站建设咨询薇微信公众平台小程序怎么制作
  • 免费舆情信息网站营销型网站用什么模版合适
  • htp免费域名注册网站装潢设计是什么
  • 怎么在网站上投放广告广州设计网页