这题最最关键的思路其实是在sort函数的重载cmp那里,当要比较两个字符串的优先顺序时,不是单纯的看大小,故我们的 a+b < b+a非常巧妙!!!

using namespace std;
bool cmp(string a , string b){
    return a+b > b+a;
}
int main(){
    int m;
    string n[21];
    scanf("%d",&m);
    for (int i = 1 ; i <= m; i ++ ){
        cin >> n[i];
    }
    sort(n+1,n+1+m,cmp);
    for(int i = 1; i <= m; i ++ ){
        cout<<n[i];
    }
    return 0;
}