题目大意:读入n个整数,链接成一个大数, 使大数尽可能的打
解题思路:按字符串比较即可,221,和 22 ,直接比较221>22但是22221要大于22122,所以要比较链接之后的,即a+b>b+a;
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
string str[60];
bool cmp(string a, string b)
{
return a+b > b+a;
}
int main()
{
int n;
while(scanf("%d", &n) != EOF && n>0)
{
for(int i=0; i<n; i++)
cin >> str[i];
sort(str, str+n, cmp);
for(int i=0; i<n; i++) cout << str[i];
printf("\n");
}
return 0;
}