直接给每个数字前面添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;
		}
	}
}