这题得搞懂不然忒难了!
题目描述
设有n个整数(3≤n≤100),将这些整数拼接起来,可以形成一个最大的整数。
例如:n=3,三个整数分别为21 7 34, 拼接后最大的整数为: 73421
再比如:n=3,三个整数分别是1 10 110,拼接后最大的整数是:111010
输入格式
第一行一个整数n ,表示有n 个整数。
第二行n个整数,数与数之间用一个空格分隔。
输出格式
输出到屏幕 。一个拼接后的最大的整数。
样例
输入#1
3
21 7 34
输出#1
73421
#include<bits/stdc++.h>
using namespace std;
string a[101];
bool cmp(string a,string b)
{
return a+b>b+a;
}
int main()
{
// freopen(".in","r",stdin);
// freopen(".out","w",stdout);
int n,i;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>a[i];
}
sort(a+1,a+n+1,cmp);
for(i=1;i<=n;i++)
{
cout<<a[i];
}
return 0;
}