#include <iostream>
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
struct Segment{
string s;
Segment(string s) : s(s){}
bool operator < (const Segment& rhs) const{
return s + rhs.s < rhs.s + s;
}
};
int main(){
int n;
scanf("%d", &n);
vector<Segment> segments;
for(int i = 0; i < n; ++i){
string s;
cin >> s;
segments.emplace_back(s);
}
sort(begin(segments), end(segments));
string str;
for(auto& segment : segments)
str += segment.s;
int pos = -1;
for(size_t i = 0; i < str.size(); ++i){
if(str[i] != '0'){
pos = i;
break;
}
}
if(pos == -1) printf("0");
else printf("%s", str.substr(pos).c_str());
return 0;
}1038. Recover the Smallest Number (30)
最新推荐文章于 2025-01-13 15:16:10 发布
本文介绍了一个使用 C++ 实现的程序,该程序通过自定义排序算法对输入的字符串进行排序,然后将它们拼接成一个大的字符串。重点介绍了如何定义比较函数来实现特定的排序逻辑,最终输出排序后的字符串。
2023

被折叠的 条评论
为什么被折叠?



