https://vjudge.net/problem/UVA-10905
题意:
给定n个正整数,把它们连接成一个最大的整数。
思路:
实在是没想到直接用string来排序了。
1 #include<iostream> 2 #include<algorithm> 3 #include<string> 4 using namespace std; 5 6 const int maxn = 50 + 5; 7 8 int n; 9 string s[maxn]; 10 11 bool cmp(string a, string b) 12 { 13 return a + b > b + a; 14 } 15 16 int main() 17 { 18 ios::sync_with_stdio(false); 19 //freopen("D:\\txt.txt", "r", stdin); 20 while (cin >> n && n) 21 { 22 for (int i = 0; i < n; i++) 23 { 24 cin >> s[i]; 25 } 26 sort(s, s + n, cmp); 27 for (int i = 0; i < n; i++) 28 cout << s[i]; 29 cout << endl; 30 } 31 }