学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
设有 n 个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
【输入】
第一行有一个整数,表示数字个数 n。
第二行有 n 个整数,表示给出的 n 个整数 aisdf。
【输出】
一个正整数,表示最大的整数
【输入样例1】
3
13 312 343
【输出2】
34331213
【输入样例2】
4
7 13 4 246
【输出2】
7424613
【代码详解】
#include <bits/stdc++.h>
using namespace std;
string a[25];
bool cmp(string a, string b) {
return a+b > b+a;
}
int main()
{
int n;
cin >> n;
for (int i=1; i<=n; i++) {
cin >> a[i];
}
sort(a+1, a+n+1, cmp);
for (int i=1; i<=n; i++) {
cout << a[i];
}
return 0;
}
【运行结果】
4
7 13 4 246
7424613