题目描述
设有 nn 个正整数 a1…an,将它们联接成一排,相邻数字首尾相接,组成一个最大的整数。
输入描述
第一行有一个整数,表示数字个数 nn。
第二行有 nn 个整数,表示给出的 nn 个整数 a_iai 。
其中, 1≤n≤20,1≤ai≤10^9。
输出描述
输出一个正整数,表示最大的整数
输入输出样例
示例 1
输入
3
13 312 343
输出
34331213
示例 2
输入
4
7 13 4 246
输出
7424613
C++实现
#include<bits/stdc++.h>
using namespace std;
string a[21];
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;
}