思路:将输入的整数当做字符串存入数组中,然后对字符串进行排序,单纯按照字典序排序会漏掉情况(比如 300 30),所以排序的条件是a+b>b+a;
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
bool cmp(string a,string b){
return a+b>b+a;
}
int main(){
string a[100];
int n;
cin>>n;
for(int i=0;i<n;i++){
a[i].resize(0);
}
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];
}
return 0;
}