第四个样例死活过不去
输入:16
321 32 407 135 13 217
输出:4073232121713513
我的输出:40732121713513<——直接把32给我整没了
#include<iostream>
#include<algorithm>
#include<string>
#include<cmath>
using namespace std;
bool true_max(string A,string B){
return A+B>B+A;
}
int main(){
int n;
string a[1001],maxx,num;
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a,a+n+1);
//错的在下面
for(int i=n;i>=1;i--){
if(!true_max(a[i-1],a[i])&&i!=n){
swap(a[i],a[i-1]);
}
}
//错的在上面
for(int i=n;i>=1;i--){
cout<<a[i];
}
return 0;
}
感谢各位的帮助