AcWing 2867. 回文日期(每日一题)
原题链接:2867. 回文日期 - AcWing题库
2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。
因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。
我们称这样的日期是回文日期。
有人表示 20200202 是“千年一遇” 的特殊日子。
对此小明很不认同,因为不到 22 年之后就是下一个回文日期:20211202 即 2021 年 12 月 2 日。
也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。
对此小明也不认同,因为大约 100 年后就能遇到下一个 ABABBABA 型的回文日期:21211212 即 21212121 年 12 月 12 日。
算不上“千年一遇”,顶多算“千年两遇”。
给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。
注意: 本题数据保证一定有解。
注意
下一个回文日期和下一个 ABABBABA 型的回文日期可能是同一天。
ABABBABA 型的回文日期,需要满足 A≠B。
输入格式
输入包含一个八位整数 N,表示日期。
输出格式
输出两行,每行 1 个八位数。
第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。
数据范围
对于所有评测用例,10000101≤N≤89991231,保证 N 是一个合法日期的 88 位数表示。
输入样例:
20200202
输出样例:
20211202
21211212
模拟题,按照思路直接写即可,注意判断闰年和月份。
AC代码:
#include<iostream>
using namespace std;
bool found1=false,found2=false;//found1为下一个回文日期判断是否找到,found2ABABBABA 型的回文日期
int months[]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月份天数数组
int is_leap(int year){//判断是否为闰年if(year%4==0&&year%100||year%400==0){return 1;}return 0;
}
int get_day(int year,int month){//获取天数if(month==2){return 28+is_leap(year);}return months[month];
}
void next_day(int &y,int &m,int &d){//自增到下一天d++;if(d>get_day(y,m)){d=1;m++;if(m>12){m=1;y++;}}
}
bool cheak1(char s[]){//判断日期是否为回文日期for(int i=0,j=7;i<j;i++,j--){if(s[i]!=s[j]){return false;}}return true;
}
bool cheak2(char s[]){//判断是否为ABABBABA 型的回文日期char a=s[0];char b=s[1];char c=s[2];char d=s[3];if(a==c&&b==d&&a!=b){return true;}return false;
}
int main(){int y,m,d;char s[10];//中介作用,负责转化scanf("%04d%02d%02d",&y,&m,&d);while(!found1||!found2){next_day(y,m,d);sprintf(s,"%04d%02d%02d",y,m,d);if(cheak1(s)){if(!found1){found1=true;puts(s);}if(!found2&&cheak2(s)){found2=true;puts(s);}}}return 0;
}
文章尚有不足,请各位大佬指出,共同冲刺蓝桥杯。
相关文章:
AcWing 2867. 回文日期(每日一题)
原题链接:2867. 回文日期 - AcWing题库 2020 年春节期间,有一个特殊的日期引起了大家的注意:2020 年 2 月 2 日。 因为如果将这个日期按 “yyyymmdd” 的格式写成一个 8 位数是 20200202,恰好是一个回文数。 我们称这样的日期是…...
学习笔记-华为IPD转型2020:3,IPD的实施
3. IPD的实施 1999 年开始的 IPD 转型是计划中的多个转型项目中的第一个(Liu,2015)。华为为此次转型成立了一个专门的团队,从大约20人开始,他们是华为第一产业的高层领导。董事会主席孙雅芳是这个团队的负责人。该团…...
2024腾龙杯web签到题-初识jwt(签到:这是一个登录页面)
什么是 jwt? 它是 JSON Web Token 的缩写,是一个开放标准,定义了一种紧凑的、自包含的方式,用于作为JSON对象在各方之间安全地传输信息,该信息可以被验证和信任,因为它是数字签名的。它就是一种认证机制,…...
Monaco Editor系列(一)启动项目与入门示例解析
前言:作为一名程序员,我们工作中的每一天都在与代码编辑器打交道,相信各位前端程序员对 VS Code 一定都不陌生,VS Code 可以为我们提供代码高亮、代码对比等等功能,让我们在开发的时候,不需要对着暗淡无光的…...
DNA存储技术原理是什么?
随着大数据和人工智能的发展,全球每天产生的数据量剧增,对存储设备的需求也随之增长,数据存储问题日益凸显。传统的硬盘驱动器(HDD)、磁带等冷存和深度归档存储占据数据中心存储的60-70%,由于它们的访问频率…...
多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测
多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测 目录 多维时序 | Matlab实现VMD-CNN-GRU变分模态分解结合卷积神经网络门控循环单元多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 1.Matlab实现VMD-CN…...
基于springboot+vue的毕业论文管理系统
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...
JavaWeb后端——分层解耦 IOC DI
分层/三层架构概述 三层架构:Controller、Service、Dao 解耦/IOC&DI概述 分层解耦 容器称为:IOC容器/Spring容器 IOC 容器中创建,管理的对象,称为:bean 对象 IOC&DI入门 实现 IOC&DI 需要的注解&#…...
短视频矩阵系统技术交付
短视频矩阵系统技术交付,短视频矩阵剪辑矩阵分发系统现在在来开发这个市场单个项目来说,目前基本上已经沉淀3年了,那么我们来就技术短视频矩阵剪辑系统开发来聊聊 短视频矩阵系统经过315大会以后,很多违规的技术开发肯定有筛选到了…...
Halcon 凹坑检测案例
* 使用元组的方法 ImageFile:[] ImageFile[0]:D:/Halcon/产品上的凹坑检测/1.bmp ImageFile[1]:D:/Halcon/产品上的凹坑检测/2.bmp for Index : 0 to |ImageFile|-1 by 1read_image (Image, ImageFile[Index])* 二值化threshold (Image, Region, 100, 255)* 连通性connection (…...
MD5算法:密码学中的传奇
title: MD5算法:密码学中的传奇 date: 2024/3/15 20:08:07 updated: 2024/3/15 20:08:07 tags: MD5起源算法原理安全分析优缺点比较技术改进示例代码应用趋势 MD5算法起源: MD5(Message Digest Algorithm 5)算法是由MIT的计算机…...
microk8s使用本地私服registry的镜像http协议
开发环境为了能部署服务到microk8s,我们开启了一个本地私库,地址为:http://localhost:5000,那么如何在microk8s中能拉取本地私库中的镜像呢? 直接部署的话,microk8s会用https协议去拉取镜像,所以必须要配置…...
C++初阶 | [九] list 及 其模拟实现
摘要:介绍 list 容器,list 模拟实现,list与vector的对比 list(带头双向循环列表) 导入:list 的成员函数基本上与 vector 类似,具体内容可以查看相关文档(cplusplus.com/reference/list/list/)&…...
如何将Excel两列数据转换为统计图、曲线图、折线图?如何自定义某一列作为Excel的统计图横纵坐标?
这样,横坐标就更换为指定选中的数据了 我们还可以修改统计图的样式 也可以修改统计图的类型...
[HackMyVM] Quick
kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…...
算法体系-12 第 十二 二叉树的基本算法
一 实现二叉树的按层遍历 1.1 描述 1)其实就是宽度优先遍历,用队列 2)可以通过设置flag变量的方式,来发现某一层的结束(看题目)看下边的第四题解答 1.2 代码 public class Code01_LevelTraversalBT {publ…...
【论文笔记合集】LSTNet之循环跳跃连接
本文作者: slience_me LSTNet 循环跳跃连接 文章仅作为个人笔记 论文链接 文章原文 LSTNet [25] introduces convolutional neural networks (CNNs) with recurrent-skip connections to capture the short-term and long-term temporal patterns. LSTNet [25]引入…...
数据库关系运算理论:关系数据操作与关系完整性概念解析
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…...
Linux基础开发工具之yum与vim
1. Linux软件包管理器——yum 1.1 什么是软件包? 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, …...
【正则表达式】正则表达式里使用变量
码 const shuai No My Name Is ShuaiGe.match(new RegExp(shuai, gi)); //↑↑↑↑↑↑↑↑ //等同于 //↓↓↓↓↓↓↓↓ /No/gi.test(My Name Is ShuaiGe)用作领域 搜索的字符动态改变,例如↓模糊搜索例: 一个文本宽,输入文本模糊搜索用…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
2.Vue编写一个app
1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
Docker 本地安装 mysql 数据库
Docker: Accelerated Container Application Development 下载对应操作系统版本的 docker ;并安装。 基础操作不再赘述。 打开 macOS 终端,开始 docker 安装mysql之旅 第一步 docker search mysql 》〉docker search mysql NAME DE…...
