uva10905

题目大意:
给出的数字中 组成一个最大的

思路:
按a+b > b+a 排序 然后直接将排完序的字符号输出就可以了。

代码:

#include <iostream>
using namespace std;
#include <cstring>
#include <stdio.h>
#include <algorithm>


string num[55];

int cmp(string a,string b) {
// if(a[i] != b[i])
        return a + b > b + a;

}

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

你可能感兴趣的:(uva10905)