#include <iostream>
#include <vector>
#include <cstring>
#include <string>
#include <sstream>
#include <cstdint>
#include <cmath>
#include <algorithm>
#include <iomanip>
#include <time.h>
#define _for(i,a,b) for(int i=a;i<b;i++)
#define bug cout<<"bug"<<endl
using namespace std;
bool cmp(string a, string b)
{
string ab = a + b;
string ba = b + a;
return ab > ba;
}
int main()
{
int n;
cin >> n;
vector<string> v;
for (int i = 0; i < n; i++)
{
int ti;
string temp;
cin >> ti;
temp = to_string(ti);
v.push_back(temp);
}
sort(v.begin(), v.end(), cmp);
for (int i = 0; i < v.size(); i++)cout << v[i];
return 0;
}
这个代码可以通过本题,但ab>ba换成if (ab.compare(ba) == 1)return true;则不可,想请问为什么呢?