题目描述
设有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
3 13 312 343
输出
复制34331213
34331213
#include<bits/stdc++.h> using namespace std; string s[100]; int n; struct rule{ bool operator()(string a,string b){ return a+b>b+a; } }; int main() { cin>>n; for(int i=0;i<n;i++){ cin>>s[i]; } sort(s,s+n,rule()); for(int i=1;i<n;i++){ s[0]+=s[i]; } cout<<s[0]; return 0; }