luogu P1107 最大整数

题目描述

设有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
4
7 13 4 246
输出样例#1:
34331213
7424613

sort,cmp
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
#define N 

string a[100003];
bool cmp(string a,string b)
{
    return a+b>b+a;
}

int main()
{
    int n;
    while(scanf("%d",&n)==1)
    {
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
        }    
        sort(a+1,a+n+1,cmp);
        for(int i=1;i<=n;i++)
        {
            cout<<a[i];
        }
        cout<<endl;
    }
    return 0;
}


原文地址:https://www.cnblogs.com/sssy/p/7045225.html