题目描述
设有 n 个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入格式
第一行有一个整数,表示数字个数 n。
第二行有 n 个整数,表示给出的 n 个整数 ai。
输出格式
一个正整数,表示最大的整数
样例输入#1
3 13 312 343
样例输出#1
34331213
样例输入#2
4 7 13 4 246
样例输出#2
7424613
参考代码
#include <bits/stdc++.h>
#define long long ll;
using namespace std;
string s[25];
bool cmp(const string &a, const string &b)
{
return a + b > b + a;
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n;
cin >> n;
for (int i = 0; i < n; i++)
cin >> s[i];
sort(s, s + n, cmp);
for (int i = 0; i < n; i++)
cout << s[i];
return 0;
}