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

P8716 [蓝桥杯 2020 省 AB2] 回文日期

1 题目说明

在这里插入图片描述

2 题目分析

暴力不会超时,O(n)的时间复杂度, < 1 0 8 <10^8 <108。分析见代码:

#include<iostream>
#include<string>
using namespace std;
 
int m[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
 
// 判断日期是否有效 
bool valid(int date){
	int year=date/10000;
	int month=date%10000/100;
	int day=date%100;
	// 判断闰年 
	if(year%400==0||year%4==0&&year%100!=0) m[2]=29;
	else m[2]=28;
    // 判断month和day是否在范围内
	if(month<=12&&month>0&&day<=m[month]&&day>0) return true;
	return false;
}
 
// 判断是否是回文日期 
bool isPalindrome(string d){
	for(int i=0;i<8;i++)
        if(d[i]!=d[7-i]) return false;
	return true;
}
 
// 判断是否为ABABBABA型日期 
bool isABABBABA(string d){
	// 判断回文在判断ABABBABA之前,只需要证明该回文日期的前半部分符合ABAB就行。
	if(d[0]==d[2]&&d[1]==d[3]) return true;
	return false;
}
 
int main(){
	int n;
	cin>>n;
	int flag=0;
	for(int i=n+1;;i++)
		if(valid(i)&&isPalindrome(to_string(i))){
			if(!flag){
				cout<<i<<endl;
				flag=1;
			}
			if(isABABBABA(to_string(i))){
				cout<<i;
				break;
			}
		}
}

相关文章:

  • 力扣-贪心-45 跳跃游戏
  • 【分布式数据一致性算法】Gossip协议详解
  • 【Rust中级教程】2.7. API设计原则之灵活性(flexible) Pt.3:借用 vs. 拥有、`Cow`类型、可失败和阻塞的析构函数及解决办法
  • 使用ESP-IDF来驱动INMP441全向麦克风
  • Python游戏编程之赛车游戏2
  • 【数据结构】(12) 反射、枚举、lambda 表达式
  • 苍穹外卖中的模块总结
  • Locale+Jackson导致Controller接口StackOverflowError异常解决
  • vue:vite 代理服务器 proxy 配置
  • TSMaster【第八篇:首战成名——第一个仿真工程实录(完整3000字版)】
  • Python深度学习:遥感影像目标识别中的数据标注技巧
  • 数据库增删查改sql语句
  • at32f103a+rtt+AT组件+esp01s 模块使用
  • Neo4j使用neo4j-admin导入csv数据方法
  • [特殊字符] Elasticsearch 双剑合璧:HTTP API 与 Java API 实战整合指南
  • 第七章 情绪力——情绪是多角度看问题的智慧
  • 数据库课设---酒店管理系统(MySQL、VBNet)
  • Windows平台使用cmake 链接动态库
  • 探索分析并发控制的关键作用 — 确保系统稳定与高效的技术导论
  • 前端VUE3框架的快速搭建
  • 东风着陆场近日气象条件满足神舟十九号安全返回要求
  • 人社部:一季度全国城镇新增就业308万人,同比增加5万人
  • 西藏阿里地区日土县连发两次地震,分别为4.8级和3.8级
  • 澎湃回声|山东莱州、潍坊对“三无”拖拉机产销市场展开调查排查
  • 专访丨青年作家杜梨:以动物的视角去观察这个世界
  • 杜前任宁波中院代理院长,卸任宁波海事法院院长