1860 最大数

 

1998年NOIP全国联赛提高组

 时间限制: 1 s
 空间限制: 128000 KB
 题目等级 : 白银 Silver
 查看运行结果
 
 
题目描述 Description

  设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。

输入描述 Input Description

  第一行一个正整数n。

  第二行n个正整数,空格隔开。

 

 

 

 

 

输出描述 Output Description

  连接成的多位数。

样例输入 Sample Input

Sample 1:

3

13 312 343

 

Sample 2:

4

7 13 4 246

 

 

 

 

 

 

 

样例输出 Sample Output

Sample 1:

34331213

 

Sample 2:

7424613

 

 

 

数据范围及提示 Data Size & Hint

n≤20

 

 1 #include<iostream>
 2 #include<algorithm>
 3 using namespace std;
 4 string a[10001];
 5 int comp(const string &a,const string &b)
 6 {
 7     return a+b>b+a;
 8 }
 9 string ans;
10 int main()
11 {
12     int n;
13     cin>>n;
14     for(int i=1;i<=n;i++)
15     {
16         cin>>a[i];
17     }
18     sort(a+1,a+n+1,comp);
19     for(int i=1;i<=n;i++)
20     {
21         ans=ans+a[i];
22     }
23     cout<<ans;
24     return 0;
25 }