设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数。
第一行一个正整数n。
第二行n个正整数,空格隔开。
连接成的多位数。
Sample 1:
3
13 312 343
Sample 2:
4
7 13 4 246
Sample 1:
34331213
Sample 2:
7424613
n≤20
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; bool cmp(string a,string b) { return a+b>b+a; } int n; string s[100015]; int main() { cin>>n; for(int i=1;i<=n;i++) cin>>s[i]; sort(s+1,s+1+n,cmp); for(int i=1;i<=n;i++) cout<<s[i]; return 0; }
原文:http://www.cnblogs.com/Shy-key/p/6413331.html