算法训练 多位数连接
问题描述
设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613
输入格式
输入包含两行,第一行为整数n(n≤20),第二行为题设的n个正整数(≤100000)
输出格式
输出为一个整数,是组成的最大的多位整数。
#include<bits/stdc++.h>
using namespace std;
bool cmp(string s,string ss){
string s1=s+ss;
string ss1=ss+s;
return s1>ss1;
}
int main(){
int n;
cin>>n;
string a[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n,cmp);
for(int i=0;i<n;i++){
cout<<a[i];
}
}