题目:
思路:1.以字符串输入这些整数。
2.对这些字符串排序,排序规则为尽量让能让结果变小的靠前。
代码中有注释,不懂的欢迎在博客中评论问我。
代码:
#include <bits\stdc++.h>
using namespace std;
string a[
10001];
//比较规则:尽量让结果字符串最小
bool cmp(
string a,
string b){
return a+b <= b+
a;
}
int main(){
int n;
cin >>
n;
for(
int i =
0;i < n; i++
){
cin >>
a[i];
}
sort(a,a + n,cmp);
//排序
//因为要1000个字符空一行,所以先将结果存入到一个字符串
string s;
for(
int i =
0;i < n; i++
){
s +=
a[i];
}
for(
int i =
0;s[i]; i++
){
if(i%
1000 ==
0) cout << endl;
//每1000个字符空一行,严格来说应该要排除i = 0
cout <<
s[i];
}
return 0;
}
//writed by zhangjiuding
转载请注明原文地址: https://www.6miu.com/read-79730.html