首页 > 代码库 > 洛谷——P1012 拼数

洛谷——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:
313 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 }

 

洛谷——P1012 拼数