最大整数
时间限制: 1 Sec 内存限制: 128 MB
[提交][状态][讨论版]
题目描述
设有n个正整数,将他们连接成一排,组成一个最大的多位整数。例如:n=3时,3
个整数13,312,343,连成的最大整数为:34331213
又如:n=4时,4个整数7,13,4,246连接成的最大整数为7424613
输入
N
N个数
输出
连接成的多位数
样例输入
3
121 21 3
样例输出
321121
/*由题意知,我们会理所应当的选着则数大排在前面,但有两个数 31 3 显然31 大于 3 这个字符串,但331 大于313 ;*/
# include<iostream>
using namespace std;
int main()
{
int n;
cin>>n;
string a[n];
for(int i=0;i<n;i++)
cin>>a[i];
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++) //对所有的a[i]+a[j]与a[j]+a[i]比较
{
if(a[j]+a[i]>a[i]+a[j])
{
string s;
s=a[i];
a[i]=a[j];
a[j]=s;
}
}
for(int i=0;i<n;i++)
cout<<a[i];
return 0;
}