Codeforces 632C - The Smallest String Concatenation

题目:Codeforces 632C

题意:
输入n个字符串,将这n个字符串加起来,求最小字典序的字符串
例:
Input
5
x
xx
xxa
xxaa
xxaaa
Output
xxaaaxxaaxxaxxx
分析:
自己像个傻逼一样,写了半天写了个自定义排序函数,虽然过了,但是用时太长了,看了一下cf上别人的代码,我真是太蠢了。。。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=5e4+5;
string s[N];
bool cmp(const string &a,const string &b){return (a+b)<(b+a);}
int main()
{
    int n; scanf("%d",&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;
}

你可能感兴趣的:(String,C语言,codeforces)