P13929 [蓝桥杯 2022 省 Java B] 山 题解

缩减一下题目的意思,问区间 [2022,2022222022] 有多少个数是回文数并且先单调不减,后单调不增。

因为有这两条条件,我们可以得知在判断时只用判断前半段的每个数是不是和对面相应的位置相等,以及是否单调不减。

为什么不用看后半段是否单调不增呢?因为想要符合要求,还得是个回文数,因为是回文数,所以从中间截开,分成前后两段。

如果前半段是单调不减的,那么后半段就是单调不增的,除非这个数不是回文数,那么我们就会判断出,这个数不符合要求。

嗯,可能是这个蒟蒻太蒟蒻了,想不到直接计算的数学的玄学的非常巨的做法,于是我直接从 2022 枚举到 2022222022 。

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int a[20];
int main(){
	int ans=0;
	for(int i=2022;i<=2022222022;i++){//大力枚举
		int x=i,cs=0;//查找i有几位
		while(x>0){
			a[++cs]=x%10;//记录i的每一位是多少
			x/=10;
		}
		bool cc=0;//判断小 bool
		for(int i=1;i<=cs/2;i++){//枚举到一半就行
			if(a[i]!=a[cs-i+1]||a[i]>a[i+1]){
//如果这数他不回文或者不是按单调不减的顺序排列的
				cc=1;//废了
				break;//直接退出
			}
		}
        if(!cc){//如果一切顺利
    		ans++;//数量多一
    	}
    }
	cout<<ans;//输出我们的答案
	return 0;
}

当然啦,这个代码并不会 AC ,会 TLE ,于是我们就只能耐心的等待他得出的结果,然后直接输出。

相关推荐
打工哪有不疯的5 小时前
使用 MSYS2 为 Qt (MinGW 32/64位) 完美配置 OpenSSL
c++·qt
铉铉这波能秀5 小时前
LeetCode Hot100数据结构背景知识之元组(Tuple)Python2026新版
数据结构·python·算法·leetcode·元组·tuple
晚霞的不甘5 小时前
Flutter for OpenHarmony 实现计算几何:Graham Scan 凸包算法的可视化演示
人工智能·算法·flutter·架构·开源·音视频
代码游侠5 小时前
C语言核心概念复习——C语言基础阶段
linux·开发语言·c++·学习
㓗冽6 小时前
60题之内难题分析
开发语言·c++·算法
大江东去浪淘尽千古风流人物6 小时前
【VLN】VLN仿真与训练三要素 Dataset,Simulators,Benchmarks(2)
深度学习·算法·机器人·概率论·slam
rainbow68896 小时前
C++开源库dxflib解析DXF文件实战
开发语言·c++·开源
John_ToDebug6 小时前
Chromium安全架构深度解析:从悬空指针检测到内存安全防御体系
c++·chrome
D_evil__6 小时前
【Effective Modern C++】第五章 右值引用、移动语义和完美转发:24. 区分万能引用和右值引用
c++
铉铉这波能秀6 小时前
LeetCode Hot100数据结构背景知识之字典(Dictionary)Python2026新版
数据结构·python·算法·leetcode·字典·dictionary