蓝桥杯备战9.拼数

devtools/2024/9/23 18:31:56/

P1012 [NOIP1998 提高组] 拼数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

这道题作对了,但是题解看到更好的

我写的史

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int N = 2e7+10,M = 1e3+10;
int a[N],h[N];
struct birthday
{string name;int y,m,d,id;	
};bool cmp(int a,int b)
{string s1 = to_string(a);string s2 = to_string(b);int m = min(s1.size(),s2.size());for(int i=0;i<m;i++){if(s1[i]>s2[i]){return 1;}else if(s1[i]<s2[i])return 0;}if(s1.size()>s2.size()){if(s1[m]>s2[m-1])return 1;else return 0;}else{//s2>s1if(s1[m-1]>s2[m])return 1;else return 0;}
}
signed main()
{std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+1+n,cmp);for(int i=1;i<=n;i++){cout<<a[i];}return 0;
}

cmp函数优化之后

#include<bits/stdc++.h>
#define endl '\n'
#define int long long
using namespace std;
const int N = 2e7+10,M = 1e3+10;
int a[N],h[N];
struct birthday
{string name;int y,m,d,id;	
};bool cmp(int a,int b)
{string s1 = to_string(a);string s2 = to_string(b);return (s1+s2>s2+s1);
}
signed main()
{std::ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+1+n,cmp);for(int i=1;i<=n;i++){cout<<a[i];}return 0;
}


http://www.ppmy.cn/devtools/39647.html

相关文章

redis分片java实践、redis哨兵机制实现、redis集群搭建

redis分片java实践 linux安装redishttps://mp.csdn.net/mp_blog/creation/editor/134864302复制redis.conf配置文件成redis1.conf、redis2.conf、redis3.conf 修改redis的端口信息和存pid文件的路径。存pid文件的路径只要不同就行了&#xff0c;没什么特别要求。 指定配置文件…

Leetcode—155. 最小栈【中等】

2024每日刷题&#xff08;130&#xff09; Leetcode—155. 最小栈 实现代码 class MinStack { public:MinStack() {}void push(int val) {if(st.empty()) {st.emplace(val, val);} else {st.emplace(val, min(val, st.top().second));}}void pop() {if(st.empty()) {return;}…

对Promise的理解

Promise的含义 Promise是ES6引入的JS中进行异步编程的新解决方案。 它是一个对象&#xff0c; 可以获取异步操作的消息&#xff0c; 它的出现大大改善了异步编程的困境&#xff0c; 避免了地狱回调&#xff0c;它比传统的解决方案回调函数和事件更合理和更强大。 Promise的实…

iOS git创建与合并分支

参考文章 Git – 创建与合并分支 相关命令行解释 1. 创建并切换到该分支&#xff1a; 2.0.0是新建的分支的名字 git checkout -b 2.0.0 相当于下面这两句 创建分支 git branch 2.0.0 切换到某个分支 git checkout 2.0.0 2. 查看当前所有分支&#xff1a; git branch 如何提…

免费获取!图论+灰色系统+混合优化算法程序代码!

前言 算法&#xff08;Algorithm&#xff09;是指解题方案的准确而完整的描述&#xff0c;是一系列解决问题的清晰指令&#xff0c;算法代表着用系统的方法描述解决问题的策略机制。算法优化是指对算法的有关性能进行优化&#xff0c;如时间复杂度、空间复杂度、正确性、健壮性…

AI时代:低代码与人工智能引领科技创造新时代

随着科技的飞速发展&#xff0c;我们步入了一个崭新的时代——AI时代。在这个时代&#xff0c;低代码和人工智能技术如日中天&#xff0c;成为引领科技创造的新引擎。本文将围绕这一主题&#xff0c;探讨低代码和人工智能如何在各个领域发挥巨大作用&#xff0c;推动科技创造迈…

五分钟了解等级保护、风险评估和安全测评三者的区别和联系?

等级保护 基本概念&#xff1a;网络安全等级保护是指对国家秘密信息、法人和其他组织和公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护&#xff0c;对信息系统中使用的安全产品实行按等级管理&#xff0c;对信息系统中发生的信息安全事件…

论文解读--High-resolution Automotive Radar Point Cloud Imaging and Processing

高分辨汽车雷达点云成像和处理 摘要 汽车雷达具有体积小、硬件成本低、全天候工作、高分辨率等公认的优点&#xff0c;是高级驾驶辅助系统(ADAS)必不可少的一类重要传感器。然而&#xff0c;低角度分辨率和低成像性能的限制很难满足下一阶段ADAS的需要。新兴的4D成像雷达采用多…