题目:
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。
如:n=3时,3个整数13,312,343连成的最大整数为34331213。
如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613。
输入格式:
有多组测试样例,每组测试样例包含两行,第一行为一个整数N(N<=100),第二行包含N个数(每个数不超过1000,空格分开)。
输出格式:
每组数据输出一个表示最大的整数。
输入:
2
12 123
4
7 13 4 246
输出:
12312
7424613
本题涉及到STL 容器的使用,还有自定义sort排序函数,以及string类型数据的比较等
string数据类型
sort函数
反思:回头看看pta题目集能学到不少知识
代码:
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
bool compare(string a,string b){
return (a+b)>(b+a);
}
int main(){
int N;
while(cin>>N){
vector<string>T;
while(N--){
string s;
cin>>s;
T.push_back(s);
}
sort(T.begin(),T.end(),compare);
for(auto c:T)
cout<<c;
cout<<endl;
}
return 0;
}