原题地址
https://www.luogu.org/problem/show?pid=1012
解题思路
只有一个很明显的坑,就是sort函数确实是按字典序排的,然而当一个串是另一个的子串时显然它不能自己判断怎么拼更优……所以sort不可取(自定义太麻烦了=_=),还是用冒泡判断a+b和b+a那个更优好一点,更简单粗暴直接明了。
参考代码
#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
strings[25];
int n;
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i];
for(int i=1;i<=n;i++)
for(int j=1;j<i;j++)
if(s[i]+s[j]>s[j]+s[i])
swap(s[i],s[j]);
for (inti=1;i<=n;i++) cout<<s[i];
return0;
}