题目链接:https://www.luogu.org/problemnew/show/P1012
题目大意:给出
n
n
n 个字符串,将这些字符串拼在一起,求字典序最大的组合。
#include<iostream>
#include<cstring>
#include<algorithm>
#include<string>
using namespace std;
const int maxn = 20 + 10;
int n;
string a[maxn];
bool cmp(string a,string b){
int i=0;
int lena=a.length(),lenb=b.length();
while(i<lena && i<lenb){
if(a[i]==b[i]) {i++;continue;}
else if(a[i]>b[i]) return true;
else return false;
}
if(i<lenb) return a[0]>b[i];
else if(i<lena) return a[i]>b[0];
return false;
}
int main()
{
cin>>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];
}
return 0;
}