直接给每个数字前面添0到相同长度,再直接比较字符串,简单粗暴_(:з」∠)_
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
while (cin >> n) {
vector<string> nums;
for (int i = 0; i < n; i++) {
string input;
cin >> input;
while (input.size() < 1005) {
input.insert(input.begin(), '0');
}
nums.push_back(input);
}
sort(nums.begin(), nums.end());
for (int i = 0; i < n; i++) {
int pos = nums[i].find_first_not_of('0');
string output = nums[i].substr(pos);
cout << output << endl;
}
}
}

京公网安备 11010502036488号