第十一届蓝桥杯大赛第二场省赛试题 CC++ 研究生组-回文日期

在这里插入图片描述

在这里插入图片描述

solution1(通过50%)

#include<stdio.h>
void f(int a){
	int t = a;
	while(a){
		printf("%d", a % 10);
		a /= 10;
	}
	if(t < 10) printf("0");
}
int isLeap(int n){
	if(n % 400 == 0 || (n % 4 == 0 && n % 100 != 0)) return 1;
	return 0;
}
int main(){
	int t, d, m, y, dp, mp, ab[12] = {01011010, 10100101, 11111111, 20200202, 21211212, 30300303, 40400404, 50500505, 60600606, 70700707, 80800808, 90900909};
	int rd[50] = {1, 2, 3, 10, 11, 12, 13, 20, 21, 22, 30, 31, 32, 40, 41, 42, 50, 51, 52, 60, 61, 62, 70, 71, 72, 80, 81, 82, 90, 91, 92};
	int rm[12] = {1, 10, 11, 20, 21, 30, 40, 50, 70, 80, 90};
	scanf("%d", &t);
	d = t / 1000000;
	m = t / 10000 % 100;
	for(mp = 0; mp < 12; mp++){
		if(rm[mp] > m) {
			m = rm[mp];
			break;
		}
	}
	y = d * 100 + m;
	if(m == 20 && isLeap(y) && (d == 3 || d == 13)) m = 21;
	else if(m == 20 && !isLeap(y) && (d == 92 || d == 3 || d == 31)) m = 21;
	else if(mp == 12){
		m = 1;
		for(int i = 0; i < 50; i++){
			if(rd[i] > d){
				d = rd[i];
				break;
			}
		}
	}
	printf("%02d%02d", d, m);
	f(m); 
	f(d);
	printf("\n");
	for(int i = 0; i < 50; i++){
		if(ab[i] > t){
			printf("%d\n", ab[i]);
			break;
		}
	}
	return 0;
}

solution2

给出的日期范围是108左右,再加上判断肯定超时,类似之前的思想先用某个限制条件缩小范围。无论是回文串还是满足ABABBABA的数字,共同特点都是需要保证回文,满足该条件的数据量会大大降低。进一步判断该回文数是否满足日期要求

  • 1<= 天数<=31
  • 1 <=月数<=12
  • 闰年的二月<=29天,平年的二月<=28天
  • 4,6,9,11月份<=30天
#include<stdio.h>
int isLeap(int y){
	if(y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) return 1;
	return 0;
}
int check(int y, int m, int d){
	if(d > 31 || d < 1) return 0;
	if(m > 12 || m < 1) return 0;
	if(m == 2 && isLeap(y) && d > 29) return 0;
	if(m == 2 && !isLeap(y) && d > 28) return 0;
	if(d > 30 && (m == 4 || m == 6 || m == 9 || m == 11)) return 0;
	return 1;
}
int main(){
	int t, flag = 1, over = 1;
	scanf("%d", &t);
	for(int i = t + 1; i <= 90900909 && over; i++){
		int a[8] = {0}, temp = i, k, num = 0;
		do{
			a[num++] = temp % 10;
			temp /= 10;
		}while(temp);
		for(k = 0; k < 4; k++){
			if(a[k] != a[7 - k]) break;
		}
		if(k == 4){
			if(check(i / 10000, i / 100 % 100, i % 100)){
				if(flag){
					printf("%d\n", i);
					flag = 0;
				}
				if(a[0] == a[2] && a[2] == a[5] && a[5] == a[7] && a[1] == a[3] && a[3] == a[4] && a[4] == a[6]){
					printf("%d", i);
					over = 0;
				}
			}
		}
	}
	return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/483757.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

R语言实战—一文搞定桑基图的绘制

一、桑基图介绍 桑基图&#xff08;Sankey diagram&#xff09;&#xff0c;即桑基能量分流图&#xff0c;也叫桑基能量平衡图。它是一种特定类型的流程图&#xff0c;概述图中延伸的分支的宽度对应数据流量的大小&#xff0c;通常应用于能源、材料成分、金融等数据的可视化分…

29-5 webshell 流量分析 - 菜刀

环境准备:构建完善的安全渗透测试环境:推荐工具、资源和下载链接_渗透测试靶机下载-CSDN博客 一、上传木马到靶场然后使用菜刀连接抓取流量 1)上传木马到upload-labs靶场 自己创建一个php文件作为木马 <?php eval($_POST["pass"]);2)然后开启 Wireshark …

如何修改大模型的位置编码 --以LLama为例

最近在看RoPE相关内容&#xff0c;一些方法通过简单修改位置编码就可以无需训练支持更长的文本内容。由于一些模型&#xff0c;已经训练好了&#xff0c;但是怎么修改已经训练好的模型位置编码。查了以下相关代码&#xff0c;记录一下。原理这里就不细讲了&#xff0c;贴几个相…

Git工具的详细使用

一、环境说明 [rootgit ~]# getenforce Disabled [rootgit ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (d…

javaWeb项目-人职匹配推荐系统功能介绍

开发工具&#xff1a;IDEA 、Eclipse 编程语言: Java 数据库: MySQL5.7 框架&#xff1a;ssm、Springboot 前端&#xff1a;Vue、ElementUI 关键技术&#xff1a;springboot、SSM、vue、MYSQL、MAVEN 数据库工具&#xff1a;Navicat、SQLyog 项目关键技术 1、JSP技术 JSP(Java…

YOLOv5 | 网络结构 | 详细讲解YOLOv5的网络结构

⭐欢迎大家订阅我的专栏一起学习⭐ &#x1f680;&#x1f680;&#x1f680;订阅专栏&#xff0c;更新及时查看不迷路&#x1f680;&#x1f680;&#x1f680; YOLOv5涨点专栏&#xff1a;http://t.csdnimg.cn/70xZa YOLOv8涨点专栏&#xff1a;http://t.csdnimg.cn…

0基础 三个月掌握C语言(13)-下

数据在内存中的存储 浮点数在内存中的存储 常见的浮点数&#xff1a;3.141592、1E10等 浮点数家族包括&#xff1a;float、double、long double类型 浮点数表示的范围&#xff1a;在float.h中定义 练习 关于&#xff08;float*)&n&#xff1a; &n&#xff1a;这是一…

【赠书活动】Python编程 从入门到实践 第3版(图灵出品)(文末送书-进行中)

编辑推荐 适读人群 &#xff1a;本书适合对Python感兴趣的所有读者阅读。 编程入门就选蟒蛇书&#xff01; 【经典】Python入门经典&#xff0c;常居Amazon等编程类图书TOP榜 【畅销】热销全球&#xff0c;以12个语种发行&#xff0c;影响超过 250 万读者 【口碑】好评如潮…

termux+ubuntu使用笔记

文章目录 termuxtermux自动启动服务的方法1. 写.bashrc文件2. 利用termux-services来实现 安装sshtermux 执行定时任务 ubuntu参考文章 这里仅针对自己在使用过程所做的笔记 termux环境下搭建Ubuntu环境可以参考&#xff1a;https://github.com/MFDGaming/ubuntu-in-termux上提…

如何在 Django 中使用 pyecharts

为项目新建一个目录&#xff0c;将其命名为django_pyecharts_demo, 在终端中切换到这个目录&#xff0c;并创建一个虚拟环境。 python -m venv django_pyecharts激活虚拟环境 django_pyecharts\Scripts\activate要停止使用虚拟环境&#xff0c;可执行命令 deactivate创建并激…

Linux V4L2 应用编程

V4L2&#xff1a;Video4Linux2&#xff0c;是 Linux 内核中的一个框架&#xff0c;提供了一套用于视频设备驱动程序开发的 API。它是一个开放的、通用的、模块化的视频设备驱动程序框架&#xff0c;允许 Linux 操作系统和应用程序与各种视频设备&#xff08;如摄像头、视频采集…

Spring-声明式事务实例(有详细注释)

前提知识 Spring-IOC容器注解方式使用https://blog.csdn.net/m0_61160520/article/details/136784799?spm1001.2014.3001.5501切点表达式https://blog.csdn.net/m0_61160520/article/details/136782885?spm1001.2014.3001.5501 案例 1.创建项目 2.导入依赖 <dependen…

003、Dynamo Python创建楼板

今天我们来创建一块楼板&#xff0c;仍然是找Dynamo里有的节点&#xff0c;可以对照参考练习。 首先&#xff0c;我们打开API手册&#xff0c;在索引里搜索Floor&#xff0c;发现在Floor的方法里&#xff0c;没有找到创建楼板的方法&#xff0c;于是在搜索栏搜索&#xff0c…

python(django(自动化))之流程接口展示功能前端开发

1、创建模板代码如下&#xff1a; <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>测试平台</title> </head> <body role"document"> <nav class "navbar n…

电脑如何关闭自启动应用?cmd一招解决问题

很多小伙伴说电脑刚开机就卡的和定格动画似的&#xff0c;cmd一招解决问题&#xff1a; CtrlR打开cmd,输入&#xff1a;msconfig 进入到这个界面&#xff1a; 点击启动&#xff1a; 打开任务管理器&#xff0c;禁用不要的自启动应用就ok了

LangChain核心模块 Retrieval——文本嵌入模型、Vector stores

Text embedding models 文本嵌入模型 检索的另一个关键部分是为文档创建嵌入。 Embeddings 类是设计用于与文本嵌入模型交互的类。 Embeddings创建一段文本的矢量表示&#xff0c;这样我们就可以在向量空间中思考文本&#xff0c;并执行语义搜索之类的操作&#xff0c;在向…

详解库和程序运行过程

我最近开了几个专栏&#xff0c;诚信互三&#xff01; > |||《算法专栏》&#xff1a;&#xff1a;刷题教程来自网站《代码随想录》。||| > |||《C专栏》&#xff1a;&#xff1a;记录我学习C的经历&#xff0c;看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

Websocket + Vue使用

这里有一篇文档可以参考一下> 闪现 POM文件 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>2.7.0</version> </dependency> WebSocketConf…

IIS7/iis8/iis10安装II6兼容模块 以windows2022为例

因安全狗的提示 安全狗防护引|擎安装失败 可能原因是: IIS7及以上版本末安装1IS6兼容模块! .所以操作解决 如下. 在开始菜单中,找到服务器管理器.找到下图的IIS,右键添加角色和功能,找到web服务器的管理工具选项,iis6管理兼容性 打钩并安装. 如下图

力扣---最长回文子串---二维动态规划

二维动态规划思路&#xff1a; 首先&#xff0c;刚做完这道题&#xff1a;力扣---最长有效括号---动态规划&#xff0c;栈-CSDN博客&#xff0c;所以会有一种冲动&#xff0c;设立g[i]&#xff0c;表示以第i位为结尾的最长回文子串长度&#xff0c;然后再遍历一遍取最大长度即可…