思路:
如果按照字典序从大到小排序是错误的,比如231 和23
应该这样排序:
对于整数A 和整数B,比较AB和BA的值,若AB<BA,则按照B A顺序排,否则按照A B 顺序排.
最后输出就行
关于sort的自定义排序我参考的大佬
,我开始写的冒泡排序
AC代码:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int maxn = 30;
LL a[maxn];
bool cmp(string a,string b)
{
return a+b>b+a;
}
int main()
{
int n;
cin>>n;
string s[30];
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;
}
收获:
sort自定义排序和贪心算法的验证,最好要严格证明才行,否则很可能出错