洛谷——P1012 拼数

https://www.luogu.org/problem/show?pid=1012#sub

题目描述

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

例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213

又如:n=4时,4个整数7,13,4,246联接成的最大整数为:7424613

输入输出格式

输入格式:

 

第一行,一个正整数n。

第二行,n个正整数。

 

输出格式:

 

一个正整数,表示最大的整数

 

输入输出样例

输入样例#1:
3
13 312 343
输出样例#1:
34331213

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <cstring>
 4 #include <string>
 5 #include <cstdio>
 6 
 7 using namespace std;
 8 
 9 bool cmp(string a,string b)
10 {
11     return a+b>b+a;
12 }
13 
14 int n;
15 string s[2333];
16 
17 int main()
18 {
19     scanf("%d",&n);
20     for(int i=1;i<=n;i++) cin>>s[i];    
21     sort(s+1,s+1+n,cmp);
22     for(int i=1;i<=n;i++) cout<<s[i];
23     return 0;
24 }

 

posted @ 2017-07-04 20:27  Aptal丶  阅读(294)  评论(0)    收藏  举报